Поиск путей удаления текущей строки и строки до и после и замены текущей строки - PullRequest
0 голосов
/ 14 февраля 2019

Я подумал об использовании сценария оболочки и сделал это, позже обнаружил, что sed - это эффективный способ сделать это.Я планировал выполнить удаление строки до и после поиска по шаблонной строке, а затем заменить искомую строку шаблона

. Поэтому использовал следующую команду для удаления строки до и после.однако, он удаляет предыдущую строку и текущую строку

sed '$!N;/'perr\(\"pp'/!P;1d;D

. Любые выводы будут с благодарностью приняты.

1 Ответ

0 голосов
/ 14 февраля 2019

Если в вашем файле есть новые строки Unix (\ n), попробуйте следующее:

sed '
:a
N
$!ba    # slurp whole lines in the pattern space
s/\(\n\)[^\n]*\nperr("pp[^\n]*\n[^\n]*/\1REPLACEMENT/g
' file

, где file выглядит так:

aaa
bbb
perr("pp..
ccc
ddd

и вывод:

aaa
REPLACEMENT
ddd

Пожалуйста, измените соответствующую строку и замену в соответствии с вашими требованиями.

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