아래 명령을 사용하여 출력 줄을 노란색으로 칠하면 실제로 less 가 cat으로 바뀌고 전체 파일이 인쇄되며 페이지 나누기 중지, 탐색 허용 등과 같은 필요한 모든 기능이 비활성화됩니다. less에 대해 연산을 수행하는 데 사용할 수 있는 대부분의 인수도 무시됩니다. sed 색상 시퀀스로 인해 less의 기능이 중단되는 것을 방지할 수 있는 방법이 있습니까?
less file | sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/'
답변1
less
sed
어쩌면 다른 방법이 아닌 의 출력에 사용하려고 했을 수도 있습니다 .
sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/' file | less -R
추가 자료:
답변2
출력을 파이프로 보내려면 less
명령이 전혀 필요하지 않으며 검색된 패턴이 강조 표시되는 방식(예: in)만 설정하면 됩니다.sed
less
.bashrc
export LESS_TERMCAP_so=$'\e[93m' # begin standout mode
export LESS_TERMCAP_se=$'\e[m' # end standout mode
그런 다음 옵션을 less
사용하여 실행하십시오 -p
.
less -p '.*DATA.*' file