때로는 명령 줄에서 파일의 내용을 빨리보고 싶습니다. 이를 위해 물론 사용 cat
하지만 파이썬 , 자바 또는 간단한 HTML의 소스 파일 인 경우가 많습니다 . 이러한 파일의 경우 파일에 cat
약간의 색상 마크 업을 제공하여보다 쉽게 읽을 수 있도록하는 것이 편리합니다.
cat
그런 일을 할 수 있습니까 ?
cat -v
해로운 것으로 생각 나게한다 .
때로는 명령 줄에서 파일의 내용을 빨리보고 싶습니다. 이를 위해 물론 사용 cat
하지만 파이썬 , 자바 또는 간단한 HTML의 소스 파일 인 경우가 많습니다 . 이러한 파일의 경우 파일에 cat
약간의 색상 마크 업을 제공하여보다 쉽게 읽을 수 있도록하는 것이 편리합니다.
cat
그런 일을 할 수 있습니까 ?
cat -v
해로운 것으로 생각 나게한다 .
답변:
cat
이 작업을 수행 할 수 없습니다. 그러나 피그먼트 가 도움이 될 수 있습니다. 파이썬 스크립트이며 apt-get을 통해 설치할 수 있습니다
sudo apt-get install python-pygments
또는 easy_install을 통해 쉽게 다운로드하여 설치할 수 있습니다.
많은 소스 코드 언어 와 마크 업 언어를 지원합니다
사용
pygmentize -g <filename>
pygmentize -g <filename>
. -g
스위치는 렉서없이 파일을 처리하는 데 중요합니다. 예를 들어 /etc/fstab
열지 않으면 열려고 -g
하면 실패합니다.
pygmentize --help
경우에는이 -g
파일의 내용에서 렉서를 추측, 또는이 (표준 입력이 캔 작업을) 실패 할 경우 일반 텍스트로 통과하려고 전달됩니다.
funced cat... type pygmentize -g $argv... save..funcsave cat
.
bashrc
추가 : command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'
하지에서 cat
자신은 있지만 같은 것을 사용할 수있는 소스 highlite 또는 supercat 또는 하이라이트
소스 하이라이트
소스 파일이 제공된이 프로그램은 구문 강조 표시가있는 문서를 생성합니다. 또한 C ++ 하이라이트 라이브러리 (신규) (버전 3.0부터)를 제공합니다.
소스 강조 표시는 소스 언어 사양을 동적으로 읽으므로 새 언어를 처리하기 위해 소스를 다시 컴파일하지 않고도 쉽게 확장 할 수 있습니다. 또한 출력 형식 사양을 동적으로 읽으므로 새로운 출력 형식을 처리하기 위해 소스를 다시 컴파일하지 않고도 쉽게 확장 할 수 있습니다. 이러한 사양의 구문은 매우 쉽습니다 (매뉴얼을 참조하십시오).
설치에 관한 매뉴얼 :
자세한 빌드 및 설치 지침은 INSTALL 파일을 참조하십시오. 어쨌든 소스와 함께 제공되는 Linux 소프트웨어를 컴파일하는 데 익숙한 경우 일반적인 절차, 즉 디렉토리에 다운로드 한 파일을 untar 한 다음 간단히 수행하면됩니다.
cd <source code main directory>
./configure
make
make install
슈퍼 캣
Supercat의 홈페이지입니다. Supercat은 일치하는 정규 표현식 / 문자열 / 문자를 기반으로 텍스트를 색칠하는 프로그램입니다. Supercat은 표준 ASCII 텍스트뿐만 아니라 html 출력도 지원합니다. 존재하는 일부 텍스트 채색 프로그램과 달리 Supercat은 채색 규칙을 만들기 위해 프로그래머가 아니어도됩니다.
표준 파일 형식의 수퍼 캣 구성 파일을 작성했다면 수퍼 캣 배포에 포함될 수 있도록 "bug-spc (at) nosredna (dot) net"으로 연락하십시오.
또는 함수 ( source )를 사용하는 경우 :
#!/bin/bash#!/bin/bash
if [ ! -t 0 ];then
file=/dev/stdin
elif [ -f $1 ];then
file=$1
else
echo "Usage: $0 code.c"
echo "or e.g. head code.c|$0"
exit 1
fi
pygmentize -f terminal -g $file
요구 사항 : 피그먼트 ( sudo apt-get install python-pygments python3-pygments
) .functions 를 bash에 함수로 추가하고 color ()와 같은 이름을 지정하십시오.
이 답변 에서 와 같이 python-pygments
패키지를 사용하여 물건을 강조 표시 할 수 있습니다 . 먼저 :
sudo apt-get install python-pygments python3-pygments
그때:
pygmentize -g FILENAME
그런 다음 가십시오 :
링크 된 답변에서와 같이 별칭으로 설정할 수도 있습니다. 기본적으로 다음을 실행하십시오.
echo "alias catc='pygmentize -g'" >> ~/.bash_aliases
chmod +x ~/.bash_aliases
터미널을 닫았다가 다시 열면 catc
명령이 작동합니다. 그렇지 않으면 다음 행이 .bashrc
파일에 있고 주석 처리가 제거 되었는지 확인 하십시오.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
또 다른 것은 다음을 사용하는 것입니다 nano
.
nano testfile
man view
또는 man vim
기본 사용법 : view <filename>
종료 : :q<Return>
(을 <Esc>
사용 하는 경우 첫 번째 추가 vim
) 또는 ZZ
(대문자 z를 두 번).
프로그래머의 텍스트 편집기 vim
에는 이미 필요한 모든 것이 있으며 이미 시스템의 일부일 수 있습니다.
vim
view
또는 로 읽기 전용 모드가 활성화되었습니다 vim -R
. 마크 업 된 파일을 보는 것만으로 충분합니다.
어디서나 사용 가능하고 탐색이 가능합니다. 새로운 소프트웨어를 설치하거나 bash 스크립트를 작성하는 일을 망설 일 필요가 없습니다.
vim
또는 view
당신은 단지 파일을 제공 : view file.py
차이가 없습니다 그래서이 함께 cat
. 물론 당신은 그것을 닫을 필요하지만, 정말, :q<Return>
또는 ZZ
어려운 작업이 아니다.
cat
구문 강조 만 만들 수는 없습니다. 여전히을 사용하여 다음과 같이 할 수 있습니다 python-pygments
. 먼저 터미널에서 다음과 같이 설치하십시오.
sudo apt-get install python-pygments
이제 아래 함수를 복사하십시오 ~/.bashrc
. 그것은 또한cat
당신이 원하는 것을 줄 것 입니다. 그렇지 않으면 사용의 포인트가 없습니다.cat
catc(){
cat "$@" > /tmp/.tmp
pygmentize -g /tmp/.tmp
rm /tmp/.tmp
}
다음 ~/.bashrc
과 같이 소스
. ~/.bashrc
컬러 출력을 제공합니다.
catc <filename>
색상과도 연결됩니다.
catc <file1> <file2> ... <filen>
pygmentize?
양식의 명령 xterm -e "pygmentize -g <filename>"
을 사용하여 스크롤하고 스크롤하는 유일한 방법은 스크롤 막대를 사용하는 것입니다. 출력을 파이핑하려고했지만 less
가비지 출력이 발생했습니다.
pygmentize
, 적은 비용으로 사용할 수 있습니다 . lessc
다음과 같이 bash 함수 를 작성하십시오 .lessc () { pygmentize -gf terminal "$1" | less -R }
다른 답변은 왜 cat
그렇게 할 수 없는지 에 대해 설명합니다. lesspipe.sh 사용 하면 덜 할 수 있지만
.
타사 패키지를 설치하는 대신 gedit
구문 강조 표시 를 사용 하여 파일을 빠르게 볼 수 있습니다 . 예를 들어 위의 주소 표시 줄을 복사하여 터미널에 붙여 넣습니다.
gedit https://askubuntu.com/questions/405960/can-cat-show-files-using-code-markup-in-colors
이 질문은 HTML 형식의 색상으로 표시됩니다.
gedit
탐색 키를 사용할 수 있습니다cat