zgrep을 사용하여 줄 번호를 찾거나 일부 상황별 정보를 제공하는 방법. .gz 파일 주변

zgrep을 사용하여 줄 번호를 찾거나 일부 상황별 정보를 제공하는 방법. .gz 파일 주변

데비안에서는 zgrep을 사용하여 압축된 아카이브 파일을 grep할 수 있습니다. gunzip 파일을 만드는 이유는 단순히 변경 로그와 같은 파일이 크고 압축률이 높을 수 있기 때문입니다. 문제는 zgrep을 사용하면 위나 아래의 정보가 아닌 특정 줄만 얻을 수 있다는 것입니다. 상황에 맞는 정보를 제공하세요. 변화 자체에 대해. 설명하기 위해 예를 들어보세요 ——

usr/share/doc/intel-microcode$ zgrep Fallout changelog.gz
  * Implements MDS mitigation (RIDL, Fallout, Zombieload), INTEL-SA-00223
  * Implements MDS mitigation (RIDL, Fallout, Zombieload), INTEL-SA-00223

이제 내 칩이 RIDL, Fallout 및 Zombieload 버그의 영향을 받는 것으로 나타났으며 이는 언급된 소프트웨어 패치 INTEL-SA-00223으로 수정된 것으로 보이지만 다소 불완전한 것으로 볼 수 있습니다.

해결 방법은 zless를 사용한 다음 /RIDL 또는 다른 키워드를 사용하는 것입니다. 하지만 다른 방법이 있는지 아니면 이것이 유일한 솔루션인지 궁금합니다. FWIW, 우리는 이러한 버그가 2019년 5월 14일에 완화되었다는 것을 알고 있습니다. 이 날짜는 Intel이 이러한 문제와 기타 다양한 문제에 영향을 미치는 소프트웨어 패치를 출시한 날짜입니다. 나는 "머리"와 "꼬리"를 사용하기 위해 파이프를 사용해 보았지만 둘 다 효율적인 것으로 판명되지 않았습니다.

답변1

주틸스(데비안에 패키지됨zgrep)는 모든 공통 컨텍스트 매개변수를 지원하는 더욱 강력한 버전을 제공합니다 .

$ zgrep -C3 Fallout /usr/share/doc/intel-microcode/changelog.Debian.gz

  * New upstream microcode datafile 20190618
    + SECURITY UPDATE
      Implements MDS mitigation (RIDL, Fallout, Zombieload), INTEL-SA-00223
      CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091
      for Sandybridge server and Core-X processors
    + Updated Microcodes:
--

  * New upstream microcode datafile 20190514
    + SECURITY UPDATE
      Implements MDS mitigation (RIDL, Fallout, Zombieload), INTEL-SA-00223
      CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091
    + New Microcodes:
      sig 0x00030678, pf_mask 0x02, 2019-04-22, rev 0x0838, size 52224

를 사용하여 설치할 수 있습니다 sudo apt install zutils.

답변2

zcat일반을 사용할 수 있습니다 grep.

zcat changelog.gz | grep -C3 "Fallout"

-C3grep3줄의 컨텍스트(위 3줄, 아래 3줄)를 제공하라고 지시합니다 . 더 적은 컨텍스트를 원할 경우 이 값을 줄이세요.

및/또는 (각각 "이전"과 "이후"에 대해)를 -B<number>사용하여 추가로 사용자 정의 할 수 있습니다 .-A<number>

답변3

이 역시 해결 방법일 뿐인데 시도해 보셨나요?

gzip -cd changelog.gz | grep -C <num_lines> "Fallout"

num_lines경기 전후의 상황을 표시하시겠습니까 (사용 -A <num_after>-B <num_before>미세 조정)?

관련 정보