![sed 색상 시퀀스와 덜 결합하면 페이징을 방지할 수 있습니다.](https://linux55.com/image/89161/sed%20%EC%83%89%EC%83%81%20%EC%8B%9C%ED%80%80%EC%8A%A4%EC%99%80%20%EB%8D%9C%20%EA%B2%B0%ED%95%A9%ED%95%98%EB%A9%B4%20%ED%8E%98%EC%9D%B4%EC%A7%95%EC%9D%84%20%EB%B0%A9%EC%A7%80%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
아래 명령을 사용하여 출력 줄을 노란색으로 칠하면 실제로 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