Startpagina > Tekstverwerking en zoeken > grep

De grep-opdracht volledig onder de knie krijgen

Dit is een handleiding voor de `grep`-opdracht, die in Linux wordt gebruikt om naar een specifiek patroon te zoeken in tekstbestanden of standaardinvoer. Met dit hulpmiddel kunt u efficiënt de gewenste tekst vinden en filteren.

Belangrijkste opties

Probeer verschillende opties van de `grep`-opdracht te combineren om de gewenste tekst te zoeken.

1. Basis zoeken

2. Zoekopties

3. Uitvoeropties

4. Recursief zoeken

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`grep` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Basisprincipes van reguliere expressies

`grep` ondersteunt reguliere expressies (Regular Expressions) voor krachtige tekstfiltering. Het gebruik van reguliere expressies stelt u in staat om zelfs complexe patronen gemakkelijk te vinden.

Vaak gebruikte meta-tekens voor reguliere expressies Tekens die een speciale betekenis hebben in reguliere expressies.
Teken Beschrijving Voorbeeld
. Elk enkel teken (behalve een nieuwe regel) `a.b` (acb, amb, enz.)
* Nul of meer herhalingen van het vorige teken `ab*c` (ac, abc, abbc, enz.)
+ Eén of meer herhalingen van het vorige teken `ab+c` (abc, abbc, enz.)
? Nul of één keer voorkomen van het vorige teken `ab?c` (ac, abc)
^ Begin van een regel `^start` (regels die beginnen met 'start')
$ Einde van een regel `end$` (regels die eindigen met 'end')
[abc] Een van de tekens in de haakjes `[aeiou]` (klinkers)
[a-z] Een van de tekens in het bereik `[0-9]` (cijfers)
[^abc] Elk teken dat niet in de haakjes staat `[^0-9]` (niet-cijferige tekens)
\b Woordgrens `\bword\b` (het exacte woord 'word')
| OF-operator (een van de twee patronen) `cat|dog` ('cat' of 'dog')

Basis reguliere expressies (BRE) vs. uitgebreide reguliere expressies (ERE)

`grep` gebruikt standaard BRE. Om tekens zoals `+`, `?`, `|`, `(`, en `)` met hun speciale betekenis te gebruiken, moet u ze escapen met een backslash (`\`). De `-E` optie schakelt de ERE-modus in, waardoor deze tekens zonder backslash kunnen worden gebruikt. De `-P` optie biedt de krachtigere PCRE.

Gebruiksvoorbeelden

Oefen tekst zoeken aan de hand van praktische voorbeelden van de `grep`-opdracht.

Zoeken naar 'error' in een logbestand

grep 'error' /var/log/syslog

Geeft alle regels weer die de tekenreeks 'error' bevatten in het `syslog`-bestand.

Zoeken naar 'failed' (hoofdlettergevoeligheid negeren) en regelnummers weergeven

grep -in 'failed' /var/log/auth.log

Zoekt naar 'failed' ongeacht de hoofdlettergevoeligheid en geeft het resultaat weer met regelnummers.

Alleen regels weergeven zonder een specifiek patroon

grep -v '^#' /etc/nginx/nginx.conf

Geeft regels weer uit het `nginx.conf`-bestand die niet met een commentaar (#) beginnen.

Zoeken naar 'server_name' in '.conf'-bestanden inclusief submappen

grep -r 'server_name' *.conf

Zoekt recursief naar het patroon 'server_name' in bestanden met de extensie '.conf' in de huidige map en alle submappen.

Een specifiek proces vinden (combineren met ps en een pipe)

ps aux | grep apache2

Filtert de uitvoer van de `ps aux`-opdracht om alleen processen te tonen die gerelateerd zijn aan 'apache2'.

Zoeken naar 'warning' of 'critical' in meerdere bestanden

grep -E 'warning|critical' /var/log/syslog /var/log/kern.log

Gebruikt de OF-operator (|) van reguliere expressies om te zoeken naar 'warning'- of 'critical'-berichten in meerdere logbestanden.


Hétzelfde categoriecommando