Skip to content

Hoe gecomprimeerde bestanden te zoeken met Linux

15 de juni de 2021
GettyImages 165667304 571ed3585f9b58857d71bf08

Deze handleiding laat u zien hoe u gecomprimeerde bestanden op een Linux-computer kunt doorzoeken op een reeks tekst of een bepaalde uitdrukking.

Resultaten zoeken en filteren met het grep-commando

Een van de krachtigste Linux-commando’s is grep, wat staat voor Global Regular Expressions Print. U kunt grep gebruiken om te zoeken naar patronen in de inhoud van een bestand of de uitvoer van een ander commando. Voer als voorbeeld de volgende opdracht ps uit om de lijst met processen te zien die op uw computer worden uitgevoerd: ps -ef

class=”ql-syntax”> De resultaten scrollen snel over het scherm. Als er een groot aantal resultaten zijn, maakt dit het bekijken van de informatie verwarrend.

Om het scrollen van de pagina te stoppen, gebruikt u de opdracht more om één pagina met resultaten tegelijk weer te geven, als volgt: ps -ef | meer

Hoewel de uitvoer van de bovenstaande opdracht beter is dan de vorige, moet je nog steeds door de resultaten bladeren om te vinden wat je nodig hebt. Het grep-commando maakt het mogelijk om de resultaten te filteren op basis van de criteria die u ernaar verzendt. Als u bijvoorbeeld wilt zoeken naar alle processen met de UID ingesteld op: wortel, voer het volgende commando uit: ps -ef | grep wortel

Linux ps met grep

Het grep-commando werkt ook op bestanden. Stel je voor dat je een bestand hebt dat een lijst met boektitels bevat, en je wilt zien of het bestand bevat: Roodkapje. U kunt het bestand als volgt doorzoeken: grep “Roodkapje” boekenlijst

Linux grep-bestand

Het grep-commando is krachtig en er kunnen veel handige schakelaars mee worden gebruikt.

Gecomprimeerde bestanden doorzoeken met het zgrep-commando

Een weinig bekende maar zeer krachtige tool is zgrep. Met de opdracht zgrep kunt u de inhoud van een gecomprimeerd bestand doorzoeken zonder eerst de inhoud uit te pakken. Het zgrep-commando kan worden gebruikt op zip-bestanden of bestanden die zijn gecomprimeerd met het gzip-commando. Wat is het verschil? Een zip-bestand kan meerdere bestanden bevatten, terwijl een met de gzip-opdracht gecomprimeerd bestand alleen het originele bestand bevat. Om tekst te zoeken in een bestand dat is gecomprimeerd met gzip, voert u het volgende commando in: zgrep expression filetosearch

Stel je bijvoorbeeld voor dat de boekenlijst is gecomprimeerd met gzip. U kunt zoeken naar de tekst Roodkapje in het gecomprimeerde bestand met het volgende commando: zgrep “Roodkapje” bookslist.gz

Linux zgrep

U kunt elke uitdrukking en alle beschikbare instellingen met het grep-commando gebruiken als onderdeel van het zgrep-commando.

Gecomprimeerde bestanden doorzoeken met het zipgrep-commando

De opdracht zipgrep wordt gebruikt om naar patronen in een zipbestand te zoeken. Het zgrep-commando werkt goed met bestanden die zijn gecomprimeerd met gzip, maar werkt niet zo goed met bestanden die zijn gecomprimeerd met het zip-hulpprogramma. U kunt zgrep gebruiken als het zipbestand één bestand bevat, maar de meeste zipbestanden bevatten meer dan één bestand. Stel je bijvoorbeeld voor dat je een bestand hebt met de naam boeken met de volgende titels:

  • Harry Potter en de Geheime kamer
  • Het temmen van de feeks
  • Van muizen en mannen
  • The Hitchhikers Guide to the Galaxy
  • Harry Potter en de Orde van de Feniks

Stel je ook voor dat je een bestand hebt met de naam films met de volgende titels:

  • De Matrix
  • Harry Potter en de Geheime kamer
  • Harry Potter en de Vuurbeker
  • Star Wars: een nieuwe hoop

Stel je nu voor dat deze twee bestanden zijn gecomprimeerd met behulp van het zip-formaat tot een bestand met de naam media.zip. U kunt de opdracht zipgrep gebruiken om patronen te vinden in de bestanden in het zipbestand. Bijvoorbeeld: bestandsnaam zipgrep-patroon

Om alle exemplaren van . te vinden Harry Potter, gebruik het volgende commando: zipgrep “Harry Potter” media.zip

De output is als volgt: boeken: Harry Potter en de Geheime Kamer
boeken: Harry Potter en de Orde van de Feniks
films: Harry Potter en de Geheime Kamer Chamber
films: Harry Potter en de Vuurbeker

Linux zipgrep

Omdat je elke uitdrukking met zipgrep kunt gebruiken die je met grep kunt gebruiken, maakt dit de tool erg krachtig en maakt het zoeken in zip-bestanden eenvoudiger dan decomprimeren, zoeken en dan weer comprimeren. Als u alleen bepaalde bestanden in het zipbestand wilt doorzoeken, geeft u de bestanden op die u in het zipbestand wilt doorzoeken als onderdeel van de opdracht, als volgt: zipgrep “Harry Potter” media.zip movies

De output is als volgt: films: Harry Potter en de Geheime Kamer
films: Harry Potter en de Vuurbeker

Linux zipgrep zoeken op bestand

Als u alle bestanden behalve één wilt doorzoeken, gebruikt u de volgende opdracht: zipgrep “Harry Potter” media.zip -x books

Dit produceert dezelfde uitvoer als voorheen omdat het alle bestanden binnenin doorzoekt media.zip behalve boeken.