grepがANSIコード\e[K
をカラー出力に追加するのはなぜですか?私はそれの要点を見ることができませんが、明らかに開発者は見ることができます。これは、「現在のカーソル位置から行末までの行をクリアする」ために使用されるANSI / VT100端末コードです。
フリンジの場合、grepは端末のディスプレイからテキストを「消失」させる可能性があります。例えば:
echo -e "ab\rc"
echo -e "ab\rc" |grep --color=always "c"
シンプルなエコー表示されますcb
が、色付け表示ショー:c
基礎となるエンコードされたテキストは次のとおりです。echo -e 'ab\r\033[01;31m\033[Kc\033[m\033[K'
ただし、\e[K
コードが なければ、echo -e 'ab\r\033[01;31mc\033[m'
期待どおりに機能します。
grepがこれらの\e[K
コードを含める理由は何ですか。私はのオーバーレイを可能にするためのスクリプトを書いている二彩色パスのように、: c=--color=always; ls $c /bin/gzip | grep $c 'z'
。したがって、grepが使用する理由を理解する必要があります\e[K
。