Удалить строку, которая соответствует шаблону и все последующие строки до второго шаблона - PullRequest
0 голосов
/ 03 октября 2018

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

Например:

This is a line I want to delete,
this is second line that should be deleted.
And this is stop-pattern which should terminate deletion.

Я хочу удалитьвесь вышеприведенный абзац дает sed два шаблона / delete, / (который является исходным шаблоном, и всю строку, содержащую этот шаблон, следует удалить) и / delete ./ (который является шаблономкоторый определяет точку, где следует прекратить удаление).

Как мне написать команду sed, которая может выполнить это?

1 Ответ

0 голосов
/ 03 октября 2018

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

sed '/delete,/,/deletion\./d' file > outfile

Здесь

  • /delete,/,/deletion\./ говорит sed, чтобы соответствовать части текста между (и включая) строками, начиная с однойограничив delete, и заканчивая строкой, имеющей deletion. (примечание . должно быть экранировано, чтобы соответствовать буквальной точке)
  • d говорит sed удалить этот блок строк.

См. онлайн sed демо .

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