grepの行番号の色付け

grepの行番号の色付け

grepこのオプションで使用するときに行番号を色付けする方法はありますか-n

たとえば、 echo "hello" | grep -n lo 出力

1:hello

lo(一致)。行番号(1:セクションなど)に色を付けるようにgrepを設定できますか?これを可能にする特定のシェル/ターミナルはありますか?

答え1

見てGREP_COLORS、色はlin-numberとして定義され、他の色はile-ame colorizeとして定義されます。この色は3つのセットを受け入れます。nlnfnfnX;はい;次の形式の色:

  • X次のいずれかに設定できます(表示プロパティを表す)。

    0 すべての属性をリセット

    1 明るさ

    2 暗い

    下線4本

    5回点滅

    7 リバース

    8 隠す

  • Y次のいずれかに設定できます(前景色を示します)。

    30ブラック

    31赤

    32グリーン

    33イエロー

    34ブルー

    35 マゼンタ

    36シアン

    37ホワイト

  • Z次のいずれかに設定できます(背景色を示す)。

    40ブラック

    41赤

    42グリーン

    43イエロー

    44ブルー

    45 マゼンタ

    46シアン

    47ホワイト

lnしたがって、この形式で行番号設定をカラー化するにはln=X;Y;Z(選択X&はい&色は上記のリストの1つです。)「端末はANSI色をサポートする必要があります」:

GREP_COLORS='ln=5;30;43' \grep -n --color 'pattern'

テストseq 10 |GREP_COLORS='ln=5;30;43:fn=0' \grep --color -nH .(黄色の背景と黒の前景色で点滅する行番号を確認してください。fnファイル名の色をリセットしました。)はい、複数の色オプションをコロンで区切ることができます。

また、見ることができますgrep Flashマッチパターンを作成するにはどうすればよいですか?これは私が一番好きなものです。

答え2

実際にgrep "string" --color=always filename見つけたようにここあなたのために働きますか?

関連情報