grep \e[K
이 컬러 출력에 ANSI 코드 를 추가하는 이유는 무엇 입니까? 나는 그 요점을 볼 수 없지만 분명히 개발자는 볼 수 있습니다. 그것은이다 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
.