Поиск по сайту:

Как показать окружающие строки вокруг совпадений с помощью grep для Linux


grep – это поисковая утилита для поиска строк и шаблонов в файлах и при вводе с консоли. По умолчанию он печатает строку, содержащую совпадение, но также полезно распечатать предыдущие строки вокруг совпадения для контекста.

Печать контекста для совпадений grep

При использовании grep вы можете добавить флаг -C в верхнем регистре для контекста, который выведет N строк до и после соответствовать. Это может быть очень полезно для поиска в файлах кода или чего-либо еще, где вам нужно прочитать, что происходит вокруг матча.

grep -C 4 "foo" file

Это достаточно распространенная команда, поэтому вам не нужно указывать флаг -C, если он находится в диапазоне от 1 до 9, вы можете просто использовать такой флаг, как -4 для 4 строки контекста:

grep -4 "foo" file

Если есть несколько совпадений, grep отобразит разделитель между ними, за исключением случаев, когда они достаточно близки, чтобы быть в контексте друг друга. Если у вас есть несколько совпадений, также полезно отображать номера строк с флагом -n , чтобы вы могли видеть, где находится совпадение в файле.

grep -4 -n "foo" file

Вы также можете вручную указать, сколько строк вы хотите до и после с помощью -B для до и -A для после. Убедитесь, что вы не перепутали их с «выше и ниже», потому что это было бы наоборот.

grep -A 1 -B 3 "foo" file