검색을 기반으로 요청 시 결과를 추적하고 색상을 지정하는 방법

검색을 기반으로 요청 시 결과를 추적하고 색상을 지정하는 방법

안녕하세요, 정보가 많은 로그 파일이 있는데 원하는 내용을 찾기가 어렵기 때문에 이 명령을 사용하여 로그에서 보고 싶은 내용만 표시합니다. 패턴이 일치합니다. 검색 결과 표시

tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"stringOneExample\""

문제는 다른 grep을 파이프하면 발생합니다.

tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"jsonKeyOne\"" | GREP_COLOR='01;31' egrep --color=always "\"jsonKeyTwo\""

첫 번째 결과에 두 번째 조건이 포함되어 있지 않기 때문에 하나를 다른 것으로 파이프하면 아무것도 표시되지 않기 때문에 작동하지 않는 것 같습니다. 그래서 모든 파일 중 두 개(또는 그 이상)를 수행하고 싶습니다. grep 작업을 수행한 다음 각 로프를 제공합니다. 차이점을 더 쉽게 알아볼 수 있도록 다른 색상

끝에 :|$를 추가하면 일반 예고편처럼 작동하여 내가 원하지 않는 많은 추가 정보가 표시됩니다.

 tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"stringOneExample\":|$"

답변1

사용하는 것이 가장 좋습니다:

grep -e 'jsonKeyOne' -e 'jsonKeyTwo'

...또는 귀하의 조건에 따라. grep 스타일에 따라 -E 'jsonKeyOne|jsonKeyTwo'도 가능합니다. 이는 가장 빠른 옵션이며 용어만 포함합니다.

다양한 색상은 다음과 같이 작동합니다. 첫 번째 용어는 색상만 지정되고 다른 모든 선은 색상이 지정되지 않습니다. 다음 용어는 다른 색상과 다른 모든 선을 갖습니다... 마지막 용어가 해당 색상과 다른 모든 선을 가질 때까지.

grep 또는 구문 강조 표시를 사용하는 경우 두 가지를 동시에 사용하지 않는 것이 가장 좋습니다.

관련 정보