2010-04-13 5 views
0

Как перенаправить вывод команды sed в качестве ввода команды tr?Перенаправить вывод sed в tr

+0

Выход команды sed находится на нескольких строках. – syker

+0

9 вопросов, и ни одного ответа не выбрано ... –

ответ

5

использовать трубопровод "|"

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

0

Глядя на ваш комментарий, вы говорите, что вывод вашей команды sed находится на нескольких строках. Если это действительно на несколько строк, а не обертка вокруг, вы могли бы использовать для петли

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

Это не обязательно, 'tr' может обрабатывать многострочный ввод. И вы подаете вывод 'sed' как * инструкции * в' tr', но без ввода * *. И, в общем, использование этого способа может быть проблемой, поскольку пробелы являются разделителями. Лучше использовать цикл 'while read'. Что-то вроде 'sed 's/foo/bar /' file | при чтении строки -r; do echo "$ line" | tr a B; done' будет * работать *, но цикл не нужен, если вы не выполняли какую-либо другую обработку внутри него. –

2

Вам не нужно tr. Предикат карты y может транслировать изнутри sed.

+0

одна разница есть tr есть другие варианты также. но да, если его простая транслитерация, предикат «y» sed достаточен – ghostdog74

Смежные вопросы