GNU grep を使用して一致を強調表示するにはどうすればよいでしょうか?

GNU grep を使用して一致を強調表示するにはどうすればよいでしょうか?

grep一部の Linux では、一致を強調表示し、一致するファイルを印刷するように設定されているのを確認しました。

一致を強調表示するように設定するにはどうすればよいですかgrep?

答え1

grepを改良する最良の方法は、ああこれは本質的には、インテリジェントな無視リスト (例: .svn ディレクトリを検索しない、バックアップ ファイルを無視するなど)、結果のカラー強調表示、および Perl 正規表現を備えた再帰 grep です。これは、98.6% の場合に grep に期待する動作です。

答え2

alias cgrep='grep -nR --color'

使用法:

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

私のお気に入りの一つでもあります:

$ pgrep some-hanging-process

次のような状況で使用できる some-hanging-process の名前に一致するプロセスの pid をすべて一覧表示します。

$ kill $(pgrep some-hanging-process)

答え3

エイリアスを使用して grep を再定義する代わりに、 .bashrc でこれを設定します。

    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

関連情報