GNU/Linux >> Linux の 問題 >  >> Linux

grep を grep にパイプした後に色を保持する

アドバイス:

grep --color=alwaysを使用する場合 、次のパイプに渡される実際の文字列が変更されます。これにより、次の状況が発生する可能性があります:

$ grep --color=always -e '1' * | grep -ve '12'
11
12
13

オプション -ve '12' にもかかわらず 1 の間に色文字があるため、中央の行を除外する必要があります。 と 2 .


grep たとえば、パイプに書き込むときなど、カラー出力を無効にすることがあります。この動作は grep --color=always でオーバーライドできます

正しいコマンド ラインは

です。
grep --color=always WORD * | grep -v AVOID

これはかなり冗長ですが、代わりに次の行を追加することもできます

alias cgrep="grep --color=always"

あなたの .bashrc に たとえば、 cgrep を使用します 色付きのgrepとして。 grep を再定義する場合 grep の特定の出力に依存するスクリプトで問題が発生する可能性があります また、ASCII エスケープ コードは好きではありません。


Linux
  1. 一致を見つけた後、Grepの終了が遅いですか?

  2. スクリプトが実行されていることを確認しますか?

  3. Grep一致後のファイルの行数をカウントする方法は?

  1. PHP構文の検証。

  2. カットする配管出力

  3. ファイルの cat'ing と grep へのパイプの利点

  1. Grep:メモリが使い果たされましたか?

  2. Grep -v予期しない動作?

  3. Cut / Grep And Df -h?