다음과 같은 채팅 기록이 있습니다.
(15:12:56) rubo77: mist migration
(15:05:22) hans: ist hugo da?
(15:36:13) rubo77: test
(13:30:15) rubo77: what are the access data?
(15:06:38) [email protected]: user : [email protected] (https://somewhere.de:8080/index.php#)
(15:06:38) [email protected]: password : test
sed
사용자 이름을 다른 색상으로 바꾸려면 어떻게 해야 합니까 ?
아니면 이것보다 더 간단한 도구가 있습니까 sed
?
답변1
다음을 사용할 수 있습니다.
sed 's/) \(.*\):/) \x1b[31m\1\x1b[0m:/'
예를 들어:
cat 1| sed 's/) \(.*\):/) \x1b[31m\1\x1b[0m:/'
버전 2:
COLOR=32
sed 's/) \(.*\):/) \x1b['${COLOR}'m\1\x1b[0m:/'
색상번호를 변경할 수 있습니다.
버전 3:
COLOR=32
sed 's/) \([[:alpha:][:digit:][:space:]@\.]*\):/) \x1b['${COLOR}'m\1\x1b[0m:/1'
답변2
awk
가장 단순해야 합니다.
awk '{$2="\033[01;31m"$2"\033[00m"; print $0}' logfile
답변3
ccze
를 사용하여 출력에 색상을 지정할 수 있습니다 .
이 상황에 최적화되어 있지는 않지만 좋은 패턴을 많이 제공합니다.
답변4
글쎄, 당신이 원하는 것(다중 사용자 색칠)은 가능하지만 완전히 간단하지는 않습니다.
요청된 작업을 수행하기 위해 매우 긴 sed 표현식을 생성할 수 있습니다 ;
. 이것이 바로 이 쉘 스크립트가 수행하는 작업이며 클러스터에서 사용되는 활동을 나타냅니다.
http://fotis.web.cern.ch/fotis/QTOP/
(스크린샷의 마지막 부분은 설명된 사용 사례의 인스턴스를 보여줍니다.)
아이디어는 qtop.colormap을 구문 분석하고 이를 sed 표현식으로 컴파일한 다음 사용하는 것입니다.
경고: 쉘 스크립트와 깊은 sed 표현의 사용으로 인해 소프트웨어 엔지니어링 측면에서 유지 관리가 매우 열악합니다. 하지만 물론 할 수 있습니다.