2014-03-13 4 views
7

출력에 따라 두 가지 색상의 텍스트 파일을 작성하려고합니다. 내가 콘솔에서 색상을 인쇄 할 때와 같이 나는이처럼 echo -e 명령을 사용하여색상으로 텍스트 파일을 작성하는 방법

RETURNED=$? 
if [ $RETURNED == 0 ] 
    then 
     echo -e "\e[1;32mffmpeg -t $DURACION -f x11grab -s $RESOLUCION -r ${FPS[j]} -b:v $BR -i :0.0 -y $NOMBRE\e[0m" >> file.txt 

fi 

아이디어는 다음과 같습니다 명령이 일 경우, 녹색 라인, 다른 사용 빨간색 물품. 그러나 텍스트 파일에 색이있는 줄이 나타나지 않습니다.

+2

파일을 어떻게 표시하나요? –

+0

에코 만 실행하면 텍스트가 녹색으로 표시됩니다. 내가 여러분과 같은 파일에 에코를 리다이렉트 시켰을 때 나는 텍스트를 녹색으로 보았습니다. –

+0

파일을 여는 워드 프로세서는 컬러 텍스트를 지원합니까? – myusuf

답변

6

less -R file.txt을 사용해 보셨습니까? 그것은 당신에게 색깔을 보여 주어야합니다 (적어도 저에게 효과적입니다).

당신은 당신의 가장 좋은 예를 들어, 출력 HTML에 아마 비 쉘 응용 프로그램에서 지원되는 컬러 코딩을 원하는 경우 :

printf '<code style="color: %s;">%s</code>' "green" "ffmpeg -t $DURACION -f x11grab -s $RESOLUCION -r ${FPS[j]} -b:v $BR -i :0.0 -y $NOMBRE" >> file.html 
+0

감사합니다. 적어도 확인해 볼 수있었습니다. 그러나 예를 들어 숭고한 텍스트로 열면 작동하지 않습니다. jkbkot에 의하면 색상이 터미널에 의해 해석되므로 다른 명령을 사용하여 색상으로 섬유를 쓸 수 있습니까? – yhabib

+1

'less -R'이 작업을 완료했습니다. – user1314742

1

printf 대신 echo -e 시도 - 후자는 작동하지 않는 것 ANSI 이스케이프 시퀀스가있는 모든 플랫폼 (적어도 OSX는 아님)

printf "\e[1;32mffmpeg -t $DURACION -f x11grab -s $RESOLUCION -r ${FPS[j]}\ 
-b:v $BR -i :0.0 -y $NOMBRE\n\e[0m" >> file.txt 

참고하여 \n 닫는 이스케이프 시퀀스 전에 줄 바꿈을 인쇄 할 수 있습니다.

관련 문제