LINUX.ORG.RU

sed?

 ,


2

1

Добрый день, уважаемые!

Подскажите как можно вывести на печать стоки из файла между REGEXP1 и REGEXP2 (включая REGEXP1 и REGEXP2) только если между этими двумя REGEXP содержится REGEXP3.

Спасибо.

★★

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

Tark ★★
()
Ответ на: комментарий от Tark

Это как? Не сталкивался раньше с таким использованием. Не ткнете носом в какой-либо пример?

swarnk ★★
() автор топика
Ответ на: комментарий от Belkrr

Спасибо!

На тестовом файле работает как надо. На реальном не получается. Буду разбираться с вашей магией.

swarnk ★★
() автор топика
Ответ на: комментарий от swarnk

Это вроде правильно. Только файл должен заканчиваться пустой строкой (точнее никогда не заканчиваться на regexp2).

sed -n -e '/regexp1/,/regexp2/{H;d};s/.*//;x;/regexp3/p' 

Belkrr
()
Ответ на: комментарий от Belkrr

оно работает, если есть перевод строки между секциями REGEXP1-REGEXP2, но если переводов строки нет - выводит файл полностью.

swarnk ★★
() автор топика
Последнее исправление: swarnk (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.