Als systeembeheerder op een Linux-systeem moet u mogelijk een enorm logbestand in Linux analyseren. Het lijkt misschien een moeizame taak, vooral in de gevallen waarin je patronen moet matchen. Gelukkig is het grep-commando in Linux een zegen voor dergelijke situaties. Als je je afvraagt ​​wat het grep-commando is en hoe het werkt, hebben we hieronder een eenvoudige handleiding opgesteld om je te helpen dit handige Linux-commando te begrijpen.

Inhoudsopgave

Wat is het grep-commando in Linux?

Het grep-commando is een krachtige opdrachtregeltool in Linux die wordt gebruikt om specifieke patronen of tekenreeksen in een bestand te zoeken en eruit te filteren, directory, of zelfs in de uitvoer van andere opdrachten. Je vraagt ​​je misschien af ​​wat de ongebruikelijke naam is; Nou, het staat voor”Global Regular Expression Print.”Het werd voor het eerst geïntroduceerd door Ken Thompson in 1973 voor het Unix-besturingssysteem. Met zijn veelzijdigheid en gebruiksgemak is het grep-commando een onmisbare tool in het arsenaal van elke Linux-gebruiker.

Over het algemeen is het grep-commando voorgeïnstalleerd op de meeste Linux-distributies, maar als je merkt dat het op je systeem ontbreekt, installeer het dan met de volgende commando’s:

Installeren op op Debian gebaseerde systemen:

sudo apt install grep

Installeer op Fedora-gebaseerde systemen:

sudo yum install grep

Installeer op Arch-gebaseerde systemen:

sudo pacman-S grep

Grep-opdracht: syntaxis en opties

Het gebruik van de grep-opdracht in Linux is vrij eenvoudig, dankzij de eenvoudige syntaxis en de vele opties om mee te spelen. De syntax om het grep commando te gebruiken is:

grep

Vervang in de bovenstaande syntax de door het patroon dat je wilt zoeken, en voor het -gedeelte, vervang het door het bestand/de map waarin u wilt zoeken. En voor het-gedeelte zijn er verschillende opties waarmee u kunt werken, waaronder:

OptionsDescriptions-EInterpreteert het als reguliere uitdrukkingen.-iZoekt naar en negeert hoofdletters en kleine letters.-vToont de regels die niet overeenkomen met het -cTelt het aantal overeenkomende regels.–kleurToont de resultaten in gekleurde uitvoer.

Het Grep-commando gebruiken in Linux

Het gebruik van het grep-commando is eenvoudig en volgt een eenvoudige syntaxis. Het enige dat u hoeft te doen, is de bestandsnaam of map opgeven waarnaar u wilt zoeken en het patroon dat u wilt matchen. Voor het patroon kunt u de exacte woorden of reguliere expressies gebruiken. Je vraagt ​​je vast af: wat is hier”reguliere expressie”? Reguliere expressies zijn speciale tekenreeksen die op een andere manier worden geïnterpreteerd wanneer ze in specifieke gebieden worden gebruikt. Ze worden vervangen door alle mogelijke combinaties die overeenkomen met het patroon.

Stel dat u bijvoorbeeld e-mailadressen wilt matchen, dan kunt u de regex “(.+)\@(.+)\n“ gebruiken. Lijkt ingewikkeld? Laten we dit opsplitsen:

(.+) komt overeen met alle tekens behalve nieuwe regels\@ controleert of het”@”-symbool aanwezig is in de gegeven zin.

Nu je weet wat reguliere expressies zijn en hoe het grep-commando werkt, gaan we kijken hoe je het grep-commando in Linux kunt gebruiken.

Zoeken naar tekenreeksen in bestanden met het grep-commando

De meest gebruikelijke manier om grep te gebruiken is door te zoeken naar specifieke tekenreeksen in een bestand. De basissyntaxis om met het grep-commando in bestanden te zoeken is:

grep

In het -gedeelte moet u de exacte string opgeven u wilt zoeken. Als u bijvoorbeeld wilt zoeken naar de tekenreeks”mango”in het bestand met de naam fruits.txt, gebruikt u deze opdracht:

grep”mango”fruits.txt

Als u wilt om te zoeken zonder hoofdlettergebruik te negeren, gebruik dan de vlag-i met het commando grep voor het bovenstaande voorbeeld:

grep-i”mango”fruits.txt

Zoeken in meerdere bestanden met grep

Met het grep-commando kunt u niet alleen in één bestand zoeken, maar ook in meerdere bestanden. Deze functie wordt vooral erg handig wanneer u meerdere grote bestanden moet doorlopen. De syntaxis om naar tekenreeksen/patronen in meerdere bestanden te zoeken met het grep-commando is:

grep

Als u bijvoorbeeld om te zoeken naar de tekenreeks”student”, gebruikt u deze opdracht in de bestanden”student1.txt”en”student2.txt”:

grep”John”student1.txt student2.txt

Zoek alle bestanden in een map met grep

Stel dat u naar een tekenreeks moet zoeken en u de bestandsnaam waar deze voorkomt niet meer weet. U kunt natuurlijk alle bestandsnamen in de map schrijven, maar in plaats daarvan kunt u gewoon de jokerteken”*”gebruiken, zoals weergegeven:

grep“pattern_to_search”*

Als u bijvoorbeeld wilt zoeken naar de tekenreeks”apple”in alle bestanden in de map, gebruikt u deze opdracht:

grep”apple”*

Als u alleen in specifieke bestandstypen wilt zoeken, gebruikt u dit syntaxis:

grep“pattern_to_search”*.

Als u bijvoorbeeld alleen in.txt-bestanden naar het woord”mango”wilt zoeken, gebruikt u deze commando:

grep”mango”*.txt

Reguliere expressies gebruiken met grep

Het belangrijkste voordeel van het gebruik van de opdracht grep ten opzichte van andere tools/commando’s is de mogelijkheid om reguliere expressies te verwerken om naar te zoeken inhoud. Voeg gewoon de vlag-e toe aan het grep-commando om te zoeken met reguliere expressies:

grep-e

Als u bijvoorbeeld e-mail-ID’s wilt filteren gebruik deze opdracht:

grep-e”(.+)\@(.+)”emails.txt

Zoeken naar meerdere trefwoorden met behulp van grep Command

U moet nu comfortabel kunnen zoeken voor sommige patronen of woorden die grep gebruiken. Maar wat als u naar meerdere woorden/patronen moet zoeken? Nou, grep heeft je ook daarvoor gedekt. Gebruik deze syntaxis om naar meerdere woorden te zoeken met het grep-commando:

grep”\|“bestandsnaam

Hier, de \| specificeert grep om het resultaat af te drukken als een van de twee query’s overeenkomt. Als u bijvoorbeeld wilt zoeken naar de woorden”apple”en”mango”in het bestand”fruits.txt”, gebruikt u deze opdracht:

grep”apple\|mango”fruits.txt

Tel overeenkomende resultaten grep Command gebruiken

Soms moet u het aantal overeenkomende resultaten weten. Hiervoor kunt u de vlag-c gebruiken met het grep-commando:

grep-c”pattern_to_search”bestandsnaam

Als u bijvoorbeeld wilt zien hoeveel e-mail-ID’s er zijn gebruik in het bestand student1.txt dit commando:

grep-E-c”(.+)@(.+)”student1.txt

Als u het aantal regels wilt zien dat niet overeenkomt met de zoekopdracht , voeg gewoon de vlag-v toe samen met-c:

grep-v-E-c”(.+)@(.+)”student1.txt

Grep Command gebruiken met Shell Pipes

De manier waarop shell-pipes in Linux werken, is dat ze de uitvoer van het ene commando als invoer naar een ander commando sturen. De basissyntaxis om shell-pipes te gebruiken is:

first_command | second_command

Met shell-pipes wordt het uitfilteren van bepaalde commando-uitvoer met grep-commando veel gemakkelijker, in plaats van constant te scrollen en naar iets te zoeken. Om een ​​specifiek woord of patroon uit een specifieke commando-uitvoer te filteren, vervangt u eenvoudigweg in de bovenstaande syntaxis door het commando en voegt u het tweede commando toe met de syntaxis van het grep-commando. Zo werkt het:

first_command | grep

Als u bijvoorbeeld wilt zien hoe vaak het gcc-commando eerder is uitgevoerd, kunt u dit commando gebruiken:

history | grep gcc

Hiermee worden alleen de resultaten weergegeven die het woord”gcc”bevatten, zoals weergegeven in de afbeelding hieronder.

Het grep-commando gebruiken in Linux

Het grep-commando is een essentiële tool voor gebruikers die willen zoeken naar specifieke patronen of woorden in verschillende bestanden, mappen of zelfs in andere Linux-commando-uitvoer. Als je eenmaal alle essentiële opties en syntaxis in handen hebt, kan het grep-commando je helpen om je productiviteit exponentieel te verhogen. Terwijl je hier bent, bekijk je de nieuwe functies in Ubuntu 23.04.

Grep-commando in veelgestelde vragen over Linux

Is het grep-commando hoofdlettergevoelig bij het zoeken naar patronen?

Standaard werkt grep hoofdlettergevoelig. Maar als u moet zoeken zonder hoofdlettergebruik te negeren, gebruik dan de vlag-i.

Hoe kan ik zoeken in gecomprimeerde bestanden?

Zgrep, een aangepaste versie van grep, kan worden gebruikt om zoeken in gecomprimeerde bestanden. De syntaxis om in gecomprimeerde bestanden te zoeken met de opdracht zgrep is: zgrep”

Laat een reactie achter

Vorig jaar lanceerde MSI de Titan GT77 met de Intel Core i9-12900HX en de RTX 3080 Ti Laptop GPU, en het was de krachtigste gaming-laptop ter wereld. Het was de zwaarste van alle zware slagmensen […]

Het is een paar maanden geleden dat de iPhone 14-serie werd gelanceerd, en het is algemeen bekend dat dit het jaar van de Pro-modellen is. Maar als je van plan bent om voor de frilly Pro’s te gaan, dan is het bedrag dat je moet betalen […]

Wondershare heeft de afgelopen jaren enkele van de beste software en tools ontwikkeld om ons leven en onze creatieve inspanningen te vereenvoudigen. Met name Wondershare Filmora heeft talloze onderscheidingen ontvangen. Het was de ontvanger van de Video Editing Leader-prijs […]

Categories: IT Info