watch
ファイルを実行して内容を変更したときにgrepコマンドの出力が表示されるように実行しようとしています。
一般的なアプローチはうまく機能しますが、色が不足しています。
watch grep 'something' **/*
...私は色が本当に欲しかったので、次のようにしました。
watch grep 'something' **/* --color=always
時計が色を操作するエスケープコードを解析できないため、まだ見苦しいです。それからこれを見つけました:
watch --color grep 'something' **/* --color=always
うーん…それはできません。出力は奇妙な方法で断片化/混合されます。何らかの理由で1行だけが表示され、watch --color
grepは約20個を出力しません。
watch
カラー出力はどのように使用できますかgrep
?
別々のケース:
以下を使用してください。
mkdir grep_test; cd grep_test
echo "asdsad\nasdasd\nsaasdasd" > file1
echo "test\n123\ntest" > file2
2つのファイルを作成し、次のコマンドを実行します。
grep test * --color=always
期待どおりに動作して出力されます(色やその他の項目を含む)。
file2:test
file2:test
しかし、時計を使うとき:
watch --color 'grep test * --color=always'
何も出力しません。この--color
オプションがないと、ANSI エスケープが解釈されなくても正しい出力が表示されます。私はこれをzshを含むtmuxセッションのFedora 25で実行しています。
また、watch -v
出力は次のようになります。
watch from procps-ng 3.3.10
ベストアンサー1
それは明らかですよりカラー出力に本当に効果的です。しかし、特にgrep次の点に従って、いくつかの回避策を講じる必要があります。grep --color ANSIコードESC [Kを追加します - 表示されたテキストが変更されます。)
watch --color "GREP_COLORS=ne grep --color=always .* *"