моя команда grep выглядит так zgrep -B bb -A aa "pattern" *
Я бы хотел получить вывод как:
file1:line1
file1:line2
file1:line3
file1:pattern
file1:line4
file1:line5
file1:line6
</blank line>
file2:line1
file2:line2
file2:line3
file2:pattern
file2:line4
file2:line5
file2:line6
Проблема в том, что трудно отличить, когда строки, соответствующие первому найденному результату, заканчиваются, а строки, соответствующие второму найденному результату, начинаются.
Обратите внимание, что хотя команда man grep говорит, что между смежными группами совпадений добавляется «-». Он работает только тогда, когда в одном файле найдено несколько совпадений. но в моем поиске (как указано выше) я ищу несколько файлов.
также обратите внимание, что добавление новой пустой строки после каждой строки bb + aa + 1 не сработает, потому что что делать, если в файле перед шаблоном меньше строк bb.