텍스트를 head, tail, less 등에 전달하여 색상을 지정할 수 있는 방법이 있나요?

텍스트를 head, tail, less 등에 전달하여 색상을 지정할 수 있는 방법이 있나요?

|파이프 를 통해 head, tail, 등 으로 전달된 텍스트의 색상을 유지하는 방법이 있습니까 less?

답변1

ls나는 당신 이 터미널 색상 코드를 배관하고 보존하고 싶다고 가정합니다 . ls --color=always(기본값 대신 ) 이라고 말할 수 있습니다 --color=auto. 이렇게 하면 코드가 보존되지만 파이프 대상이 코드를 이해하는 방법을 알고 있다고 보장할 수는 없습니다.

glark대신 사용하면 grep색상으로 표시하려고 합니다.

less와 함께 사용하면 -R색상으로 표시하려고 시도합니다.

답변2

파이프에서 출력을 생성하는 프로그램에 따라 다릅니다.

head, tail등은 색상을 제거하는 것이 아니라 일반적으로 출력이 콘솔(색상), 파일 또는 파이프(색상 없음)로 가는지 확인하는 데이터를 생성하는 프로그램입니다.

나는 찾았다또 다른 SU Q&A출력을 콘솔로 보내는 것처럼 프로그램을 출력하도록 거짓말을 하는 방법을 보여줍니다(를 사용하여 콘솔을 에뮬레이션 unbuffer).

답변3

Mac OS X에서는 환경 변수를 man ls언급합니다 CLICOLOR_FORCE.

또는 export CLICOLOR_FORCE=1에 추가하면 사용하는 셸에 따라 , 및 와 같은 다른 명령에 연결할 때 색상이 유지됩니다 .~/.zshrc~/.bashrclslessheadtail

답변4

고려하다

bat

대안

cat

설치하다

brew install bat

--args --다음과 같은 플래그

--language그리고--theme

head | bat --language=zsh -n -p --theme=gruvbox-dark
file.py | bat --language=py -n -p --theme=gruvbox-dark

관련 정보