Если я хочу найти строку в файле и отобразить окружающий контекст, я использую grep -C.
Если я также хочу ограничить вывод в первые несколько вхождений, я добавляю параметр -m
. Проблема в том, что grep просто перестает читать файл после последнего вхождения, а не отображает контекст после этой строки, например
grep -C 1 -m 2 -n "string" filename
, отобразится:
123:line before
124:string - first time
125:line after
--
--
789:line before
790:string - second time
строка 791 не будет отображаться. Вероятно, это правильное поведение (прекратите чтение сразу после завершения поиска), но как я могу показать полный контекст?