zgrep - listet den Dateinamen auf

  • grep oder egrep zeigen den Dateinamen der übereinstimmenden Datei an, wenn Sie die Option "-l" definieren.

    Allerdings habe ich eine große Menge Datei (tar.gz), die Tausende von Dateien enthält, und ich muss herausfinden, welche von ihnen ein Muster enthält. Das Problem ist:

     zgrep -la testPattern HugeFile.tar.gz
     

    gibt mir nur den Namen der tar.gz-Datei, nicht die darin enthaltene Datei , was dem Muster entspricht.

    Dies scheint ein Fehler für mich zu sein, aber vielleicht habe ich etwas missverstanden ... Weiß jemand, wie man das macht, ohne das Archiv zu zerstören oder zu entreißen? p>

    22 November 2011
    tamasgal
1 answer
  • zgrep ist ein Shellskript, das die Dateien mit gzip nach stdout dekomprimiert und in grep leitet. Es kann nicht ermittelt werden, welche Datei im Tarball das Spiel getroffen hat.

    Eine Möglichkeit, die Sie versuchen können: Installieren Sie das Archiv, auf dem fuse und libarchive verwendet werden als ob ein Dateisystem. Dann sollten Sie in der Lage sein, unter dem Mount-Punkt zu greifen. Ich habe es vorher nicht ausprobiert, aber es ist besser, als alles für einen Grep zu veröffentlichen.

    22 November 2011
    Ken Cheung