[Linux] 콘솔 출력에 색상값 넣기

리눅스는 쓰면 쓸수록 최선이자 최고이다. 더욱이 Windows 운영체제에서도 WSL로 리눅스를 활용할 수 있으니 리눅스의 가치상승은 더 높아졌다. 그와함께 Windows의 가치도 Up!

본론으로 돌아와서.. 리눅스에서 서버를 기동하고 그 사용 로그를 화면에 출력한다. 여기에 중요한 내용에 색상값을 넣어 시각적으로 보다 더 쉽게 내용을 파악하고자 한다. 즉, 최종 결과물은 다음과 같다.

보면 SUCCESSED와 FAILED에 대해 각각 초록색과 빨간색으로 표시하고 그외는 하얀색으로 표시하고 있다. 이를 위해서 리눅스의 sed 명령어가 활용되는데, 이를 위한 쉘은 다음과 같다.

# color
szColBk="";	szColBk1=""	# black
szColRe="";	szColRe1=""	# red
szColGr="";	szColGr1=""	# green
szColYe="";	szColYe1=""	# yellow
szColBl="";	szColBl1=""	# blue
szColPu="";	szColPu1=""	# magenta(purple)
szColCy="";	szColCy1=""	# cyan
szColGy="";	szColWh=""	# white
szNormal=""

# command
sed \
    -e "s/\(SUCCESSED\)/${szColGr1}\\1$szNormal/g" \
    -e "s/\(FAILED\)/${szColRe1}\\1$szNormal/g" \

위의 코드를 coloring.sh라는 파일로 저장하고 실행할 수 있도록 권한을 부여해 두고.. 로그 출력을 위해 다음 명령을 수행하면 된다.

 tail /web_home/2020-06-13.log -f | ./coloring.sh

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다