Совпадение одного символа между начальной строкой и конечной строкой - PullRequest
0 голосов
/ 22 июня 2009

Кажется, я вообще не понимаю регулярного выражения. Как я могу сопоставить символ, который находится между строк START и END. Например

# START-EDIT

# = 0 значение а

# = 1 VALUE млрд

# END-EDIT

Я хочу сопоставить любой #, который находится между # START-EDIT и # END-EDIT.

В частности, я хочу использовать sed, чтобы заменить значения match ничем (удалять их) в различных файлах, которые могут иметь или не иметь несколько разделов START-EDIT и END-EDIT.

Ответы [ 2 ]

1 голос
/ 22 июня 2009

sed - это строка. Вы можете легко найти, заменить на основе регулярных выражений в одной строке. Но на самом деле не существует простого способа поиска / замены на мультилинии. AWK может сделать трюк.

Если у вас есть регулярное выражение в одной строке, вам может понадобиться следующая команда

sed -e "/^#START-EDIT.*#END-EDIT$//" myInput.txt
1 голос
/ 22 июня 2009
^#START-EDIT.*(#) *. *#END-EDIT$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...