Итак, мои дорогие SOers, Позвольте мне сразу перейти к делу: спецификация: фильтровать текстовый файл, используя пары шаблонов. Пример: если у нас есть файл:
line 1 blabla
line 2 more blabla
line 3 **PAT1a** blabla
line 4 blabla
line 5 **PAT1b** blabla
line 6 blabla
line 7 **PAT2a** blabla
line 8 blabla
line 9 **PAT2b** blabla
line 10 **PAT3a** blabla
line 11 blabla
line 12 **PAT3b** blabla
more and more blabla
должен дать:
line 3 **PAT1a** blabla
line 4 blabla
line 5 **PAT1b** blabla
line 7 **PAT2a** blabla
line 8 blabla
line 9 **PAT2b** blabla
line 10 **PAT3a** blabla
line 11 blabla
line 12 **PAT3b** blabla
Я знаю, как заполнить только одну его часть с помощью sed: sed -n -e '/ PAT1a /, / PAT1b / {p}' Но как отфильтровать все фрагменты, нужно ли мне записывать эти пары шаблонов в файл конфигурации, читать из него пару, использовать команду sed, указанную выше, перейти к следующей паре ...?
Примечание: предположим, что PAT1, PAT2, PAT3 и т. Д. Не имеют общего префикса (например, «PAT» в данном случае)
И еще одно: как сделать новую строку в тексте квоты в этом сообщении, не оставляя целую пустую строку?