압축 파일에서 정규식/패턴 검색을 수행하는 방법은 무엇입니까?

압축 파일에서 정규식/패턴 검색을 수행하는 방법은 무엇입니까?

압축 파일에서 정규식/패턴 검색을 사용하는 방법. 예를 들어, 음... 다음을 사용해 봅시다 -

/usr/share/doc/linux-image-4.8.0-1-amd64$ zcat changelog.gz | less

지금 내가 사용하는 방법은 /를 사용하여 less를 통해 내용을 읽을 때 사용하는 이름이나 용어를 찾는 것이지만, 이름/용어가 여러 번 반복되면 제대로 작동/확장되지 않습니다.

나도 시도해봤어 -

 /usr/share/doc/linux-image-4.8.0-1-amd64$ zcat changelog.gz | grep $search-term | less

이름/검색어는 알 수 있지만 지금까지 주변 상황과 내용은 알 수 없습니다.

Changelog.gz를 읽는 동안 검색어가 n번 반복되어도 강조 표시되도록 하는 방법이 있습니까?

내 말의 예https://gist.github.com/shirishag75/e1238c16d2d372c4cfc3f62e25da335a

보시다시피 검색어/정규식을 얻었지만 날짜/시간 컨텍스트가 없으면 변경이 발생한 시기를 알지 못하면 다소 의미가 없을 수 있습니다.

답변1

사용 zgrep:

zgrep 'PATTERN' file.gz

less원하는 경우 호출기로 전송할 수 있습니다.

GNU 시스템(Linux)에서는 색상 등의 측면에서 zgrep동작이 GNU와 유사합니다 .grep

각 일치 항목에 대한 컨텍스트를 얻으려면 -C 5다음과 같은 것을 사용하십시오(5줄의 컨텍스트).


less일치 항목도 강조 표시됩니다(off를 사용하지 않는 한 기본적으로 -G).

zless -p 'PATTERN' file.gz

압축이 풀린 파일이 열리고 less검색 됩니다 PATTERN. n파일에서 다음 일치 항목으로 이동하거나 N이전 일치 항목으로 돌아가는 데 사용됩니다.

답변2

컨텍스트에서 색상 일치를 풀고 보려면 --color 매개변수와 함께 grep -C를 사용하십시오. 아래 예.

gzip -dc changelog.gz | grep -C 5 --color $search-term

관련 정보