1 votes

Formatage de la sortie "defaults domains" sur plusieurs lignes

Juste une petite question. J'essaie de formater la sortie de la commande :

defaults domains

de manière à placer chaque domaine sur une nouvelle ligne, afin que je puisse utiliser cette sortie analysée dans une autre commande.

J'ai essayé :

defaults domains | sed 's/,/\n/g'

Lequel devrait prendre la sortie de default, trouver chaque virgule et la remplacer par une nouvelle ligne, correct ? Au lieu de cela, il supprime simplement la virgule et garde chaque élément sur la même ligne.

Je me suis dit que c'était peut-être dû à l'encodage de la sortie de la commande dafaults, j'ai donc vidé un fichier et essayé de l'analyser, mais rien.

Quelqu'un a-t-il une idée de la façon dont je peux y parvenir ?

1voto

Chris Gleason Points 543

Ne vous inquiétez pas. Je ne sais pas pourquoi Sed n'a pas fonctionné comme je le voulais, mais je l'ai juste utilisé :

tr ',' '\n'

et ça a bien marché.

0 votes

tr fonctionnera plusieurs fois plus vite qu'en utilisant sed si tr peut accomplir la tâche. Même l'enchaînement tr avec sed fonctionnera plus rapidement qu'en utilisant simplement sed .

0 votes

LOL ! Je n'ai jamais eu de réponse négative auparavant. Je pensais qu'il serait prudent de répondre à ma propre question, mais peut-être pas ?

0 votes

Je crois que vous avez été rejeté parce que vous n'avez pas modifié votre message original avec votre solution.

0voto

user3439894 Points 52496

Sous OS X, en utilisant le système BSD par défaut sed vous pouvez le faire de différentes manières, en voici quelques-unes.

defaults domains | sed 's/,/\
/g'

Vous devez appuyer sur la touche Entrée après avoir tapé la barre oblique inversée, pas de "n" et terminer par la touche /g' sur la ligne suivante. Cela remplace une nouvelle ligne littérale.

Cela fonctionne aussi :

defaults domains | sed 's/,/\'$'\n/g'

Certains d'entre nous installent la version GNU de divers programmes de ligne de commande tels que celui-ci et votre programme original. defaults domains | sed 's/,/\n/g' fonctionnerait très bien avec GNU sed .

Tout cela étant dit, je dois dire que depuis tr pouvait faire ce que vous vouliez si facilement. était la voie à suivre.

0 votes

Oui, j'ai vu que dans les variantes BSD, on mettait une nouvelle ligne à la place de l'indicateur de retour chariot, mais je n'ai pas eu le temps de l'essayer avant de faire fonctionner Tr.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X