|
파이프 를 통해 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
~/.bashrc
ls
less
head
tail
답변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