sed 색상 시퀀스와 덜 결합하면 페이징을 방지할 수 있습니다.

sed 색상 시퀀스와 덜 결합하면 페이징을 방지할 수 있습니다.

아래 명령을 사용하여 출력 줄을 노란색으로 칠하면 실제로 less 가 cat으로 바뀌고 전체 파일이 인쇄되며 페이지 나누기 중지, 탐색 허용 등과 같은 필요한 모든 기능이 비활성화됩니다. less에 대해 연산을 수행하는 데 사용할 수 있는 대부분의 인수도 무시됩니다. sed 색상 시퀀스로 인해 less의 기능이 중단되는 것을 방지할 수 있는 방법이 있습니까?

less file | sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/'

답변1

lesssed어쩌면 다른 방법이 아닌 의 출력에 사용하려고 했을 수도 있습니다 .

sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/' file | less -R

추가 자료:

답변2

출력을 파이프로 보내려면 less명령이 전혀 필요하지 않으며 검색된 패턴이 강조 표시되는 방식(예: in)만 설정하면 됩니다.sedless.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

관련 정보