sed + без команды cat - PullRequest
       5

sed + без команды cat

3 голосов
/ 01 сентября 2010

следующая цель синтаксиса - добавить «_name4» в первую строку в строке, которая соответствует «name1 + name2 + name3», и заменить старое слово новым

cat  file | sed  '/name1 + name2 + name3/s/[^ ]*\>/&_name4/'  | sed s'/old/new/g' > new_file

мой вопрос: возможно ли сделать то же самое без использования команды cat?

Ответы [ 2 ]

7 голосов
/ 01 сентября 2010

Тебе редко нужна кошка. Вы можете сделать это так:

sed '/name1 + name2 + name3/s/[^ ]*\>/&_name4/' file | sed 's/old/new/g' > new_file

Вы также можете комбинировать команды sed:

sed '/name1 + name2 + name3/s/[^ ]*\>/&_name4/;s/old/new/g' file > new_file
1 голос
/ 01 сентября 2010

sed file -e <expr> или sed <expr> file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...