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
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
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
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
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
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.