% 기호로 시작하는 모든 줄의 색상을 빨간색으로 변경하는 방법은 무엇입니까?

% 기호로 시작하는 모든 줄의 색상을 빨간색으로 변경하는 방법은 무엇입니까?

내가 사용할 때

sed -i "s,.*%.*,$(tput setaf 1)&$(tput sgr0),g" A.log

사용하면 전체 줄이 사라집니다.

sed -i "s,^%.*,$(tput setaf 1)&$(tput sgr0),g" A.log

첫 번째 문자( %)만 빨간색으로 변합니다.

어떻게 해야 합니까?

편집: 실제로 전체 줄이 사라지지 않고 사용하고 있지만 more사용하면 less -R (컨트롤 M 문자와 함께) 빨간색 %가 표시됩니다.

 % Invalid input detected at '^' marker.^M

답변1

이 같은?

sed -i "s/^%.*$/$(tput setaf 1)\\0$(tput sgr0)/" A.log 

색상을 분석하지 않고 콘텐츠를 표시 하는 데 사용됩니다 cat -v file.

관련 정보