コード階層を調べて "x" という用語を探すために grep を実行したいのですが、結果に色を付けて迷惑な用語を除外します。今私は:
grep -Rn --color x * | grep -v -e html -e svn -e test -e doc -e y
問題は、これがパイプのために一致する色を失うことです. カラーリングが失われないように、この 1 つのステートメントを作成する方法はありますか?
コード階層を調べて "x" という用語を探すために grep を実行したいのですが、結果に色を付けて迷惑な用語を除外します。今私は:
grep -Rn --color x * | grep -v -e html -e svn -e test -e doc -e y
問題は、これがパイプのために一致する色を失うことです. カラーリングが失われないように、この 1 つのステートメントを作成する方法はありますか?
--color=always
パイプを介してカラーフォーマットを保持するように指定します。
grep --color=always x * | grep -v -e html -e svn -e test -e doc -e y
その後、結果をファイルにパイプする必要があり、色をフォーマットするエスケープ文字を削除する必要がある場合は、結果をパイプしてエスケープ文字を削除できる便利なsedスクリプトを次に示します。
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
( OS X-E
の代わりにオプションが必要であることに注意してください)-r