--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과 같습니다. 그 결과는 인쇄에 걸리는 시간과 사용되는 색상에 영향을 미칩니다.

이것은 버그입니까?

잘 모르겠습니다 :) 개발자에게 이메일을 보내주세요. 추가 정보 파일에서:

오류 보고서 보내기[이메일 보호됨].

관련 정보