Найти шаблон и редактировать текст после шаблона с помощью sed? - PullRequest
1 голос
/ 07 июня 2011

У меня есть файл, который состоит из некоторого текста, меня интересует именно эта строка: BUILD = 0 где значение BUILD постоянно меняется.

Мне нужна помощь в поиске по шаблону для "BUILD =" и замените что-нибудь после этого шаблона на мою новую строку.

Например: BUILD = тест

А также я хочу, чтобы это редактирование происходило в исходном файле и не было перенаправления. Как именно это можно сделать с помощью sed?

Заранее спасибо за помощь.

Ответы [ 2 ]

3 голосов
/ 07 июня 2011
sed -i 's/\(BUILD = \)\(.*\)/\1hello/g' test.txt

примечание: -i как на месте

1 голос
/ 07 июня 2011

Вот какое-то «кейсовое» решение, которое я придумал:

$ echo -e "0123\nBUILD = 2" | sed '/^BUILD =/ { s/0/a/; s/1/b/; s/2/c/; s/3/d/ }'
0123
BUILD = c

Итак, точная версия команды, решающей вашу проблему:

sed -i.bak '/^BUILD =/ { s/0/a/; s/1/b/; s/2/c/; s/3/d/ }' somefile.txt

-i.bak опция позволяет редактировать на месте с резервным копированием в файл с расширением .bak.

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