Как показать окружающие строки вокруг совпадений с помощью 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