Как выделить совпадения с помощью GNU grep?

Как выделить совпадения с помощью GNU grep?

Я видел, что в некоторых Linux-системах grepнастроено выделение совпадений и печать соответствующего файла.

Как настроить grepподсветку совпадений?

решение1

Я обнаружил, что лучший способ прокачать grep — это использоватьакк, который по сути является рекурсивным grep с интеллектуальным списком игнорирования (например, не ищет в каталогах .svn, игнорирует файлы резервных копий и т. д.), цветной подсветкой результатов и регулярными выражениями perl. Это то, что вы хотите, чтобы grep делал в 98,6% случаев.

решение2

alias cgrep='grep -nR --color'

Использование:

$ cgrep somestring /path/to/dir/or/file/with*/possible/*wild.card

Также один из моих любимых:

$ pgrep some-hanging-process

выведет список всех pid процессов, которые соответствуют имени some-hanging-process, который можно использовать в следующей ситуации:

$ kill $(pgrep some-hanging-process)

решение3

Я установил это в своем .bashrc вместо того, чтобы переопределять grep с помощью псевдонима:

    export GREP_OPTIONS="--color=auto"

У меня это работает на Linux, MacOSX и FreeBSD.

решение4

Эта --colorопция уже упоминалась несколько раз, но я хотел бы добавить, что можно настроить цвет, которым будут подсвечиваться совпадения, с помощью переменной окружения.

export GREP_COLOR="1;33"

Цвет должен быть закодирован с использованием цветовых кодов ANSI для справки.

Black       0;30     Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31
Purple      0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37

Связанный контент