--color=alwaysにもかかわらず、grepが色を表示しないのはなぜですか?

--color=alwaysにもかかわらず、grepが色を表示しないのはなぜですか?

働く:

echo '\example' | grep --color=always -i '.example'

働く:

echo '\example' | grep --color=always -i '\\example'

一致するが色が足りない:

echo '\example' | grep --color=always -i '\example'

答え1

違いを探す

私はgrepのソースコードを見て、問題の範囲を少し狭めました。

主な問題は機能ですprint_line_middle。次のループ構造を参照してください。

for (cur = beg;
     (cur < lim && ((match_offset = execute (compiled_pattern, beg, lim - beg,
                                             &match_size, cur)) != (size_t) -1));
     cur = b + match_size)
{

違い

問題は、上記の例#3でmatch_offset = execute(...)次を呼び出すことです。はい-1と同じです。その結果は、印刷にかかる時間と使用される色に影響します。

これはバグですか?

よくわからない :) 開発者にメールを送ってください。追加情報ファイルから:

エラーレポートの送信[Eメール保護]

関連情報