2010-04-13 21 views
0

Comment rediriger la sortie d'une commande sed en entrée d'une commande tr?Rediriger la sortie sed vers tr

+0

La sortie de la commande sed est sur plusieurs lignes. – syker

+0

9 questions, et pas une seule réponse sélectionnée ... –

Répondre

5

utiliser la ligne de conduite "|"

sed ... | tr -d '...'

0

En regardant votre commentaire, vous dites que la sortie de votre commande sed est sur plusieurs lignes. Si elle est vraiment sur plusieurs lignes, et non une enveloppe autour, vous pouvez utiliser une boucle for

for i in $(sed ".."); do tr "$i"; done 
+0

Ce n'est pas nécessaire, 'tr' peut gérer une entrée multiligne. Et vous alimentez la sortie de 'sed' comme * instructions * à' tr', mais sans * input *. Et, en général, utiliser de cette façon peut poser problème car les espaces sont des délimiteurs. Il vaudrait mieux utiliser une boucle while while. Quelque chose comme 'sed 's/foo/bar /' fichier | tandis que read -r line; fais écho "$ line" | tr a B; done' would * work * mais la boucle est inutile à moins que vous n'effectuiez un autre traitement à l'intérieur. –

2

Vous n'avez pas besoin tr. Le prédicat de carte y peut effectuer une translittération à partir de sed.

+0

une différence est tr a également d'autres options. mais oui, si sa translittération simple, le prédicat 'y' de sed est suffisant – ghostdog74