Если абзацы разделены пустой строкой:
awk -v RS= -v ORS='\n\n' /TOO/
Пустой разделитель записей ( RS
) означает режим абзаца , где записи разделяются последовательностями пустых строк.
Если они разделены #
:
awk -v RS='#' '/TOO/ {print RS $0}'
или
pcregrep -Mo '#[^#]*?TOO[^#]*'
-M
для многострочного grep
-o
для вывода только совпадающей части perl -00ne 'print if /TOO/'
-00
означает режим абзаца (записи разделяются одной или несколькими пустыми строками).