sed: Как заменить все строки, содержащие определенную строку? - PullRequest
2 голосов
/ 13 октября 2010

Скажем, у меня есть файл, содержащий эти строки:

tomatoes
bananas
tomatoes with apples
pears
pears with apples

Как заменить каждую строку , содержащую слово "яблоки", только на "апельсины"?Вот что я хочу закончить:

tomatoes
bananas
oranges
pears
oranges

Ответы [ 2 ]

6 голосов
/ 13 октября 2010

Используйте sed 's/.*apples.*/oranges/'?

0 голосов
/ 13 октября 2010

вы можете использовать awk

$ awk '/apples/{$0="orange"}1' file
tomatoes
bananas
orange
pears
orange

, это говорит о том, что нужно искать яблоки, а затем изменить всю запись на "оранжевый".

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