Как создать единый патч с diff?

В то время как sed может сопоставлять шаблоны на нескольких строках (используя команды N или H для добавления последовательных строк перед сопоставлением), это далеко за пределами зоны комфорта. Попытайтесь на это, только если вам нравится боль.

Perl может делать такие вещи красиво. Используйте переключатель -p, чтобы он обрабатывал стандартный ввод по одной записи за раз и печатал измененную запись (à la sed) и -000, чтобы включить режим абзаца (где записи разделены пустыми строками). В регулярном выражении \s соответствует любому символу пробела, включая новую строку.

perl -p -000 -e 's/Lorem\s+Ipsum\s+is\s+simply\s+dummy\s+text\s+of\s+the\s+printing\s+and\s+typesetting\s+industry\./Replacement text/g'

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

1
задан 26 August 2015 в 16:17

0 ответов

Другие вопросы по тегам:

Похожие вопросы: