Startpagina > Tekstverwerking en zoeken > grep

De `grep` opdracht: een complete gids

Een gids voor het `grep`-commando in Linux, waarmee u specifieke patronen kunt zoeken in tekstbestanden of standaardinvoer. Met deze tool kunt u efficiënt de gewenste tekst vinden en filteren.

Belangrijkste opties

Combineer de verschillende opties van het `grep`-commando 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.

Basis van reguliere expressies

De `grep`-opdracht ondersteunt reguliere expressies voor krachtig tekst zoeken. Met reguliere expressies kunt u eenvoudig complexe patronen vinden.

Veelgebruikte metatekens voor reguliere expressies Tekens met een speciale betekenis in reguliere expressies.
Teken Beschrijving Voorbeeld
. Elk enkel teken (behalve newline) `a.b` (acb, amb, etc.)
* Voorgaand teken 0 of meer keer herhaald `ab*c` (ac, abc, abbc, etc.)
+ Voorgaand teken 1 of meer keer herhaald `ab+c` (abc, abbc, etc.)
? Voorgaand teken 0 of 1 keer aanwezig `ab?c` (ac, abc)
^ Begin van de regel `^start` (regels die beginnen met 'start')
$ Einde van de regel `end$` (regels die eindigen met 'end')
[abc] Eén van de tekens tussen haakjes `[aeiou]` (klinkers)
[a-z] Eén van de tekens binnen het bereik `[0-9]` (cijfers)
[^abc] Elk teken behalve die tussen haakjes `[^0-9]` (niet-cijferige tekens)
\b Woordgrens `\bword\b` (exact het woord 'word')
| OF-operator (één van de twee patronen) `cat|dog` ('cat' of 'dog')

Basis reguliere expressies (BRE) en uitgebreide reguliere expressies (ERE)

`grep` gebruikt standaard BRE. Om tekens zoals `+`, `?`, `|`, `(`, `)` met hun speciale betekenis te gebruiken, moet u er een backslash (`\`) voor plaatsen. Met de optie `-E` schakelt u de ERE-modus in, waardoor u deze tekens zonder backslash kunt gebruiken. De optie `-P` biedt de krachtigere PCRE-functionaliteit.

Gebruiksvoorbeelden

Oefen tekst zoeken met praktische gebruiksvoorbeelden van het `grep`-commando.

Zoek naar 'error' in een logbestand

grep 'error' /var/log/syslog

Print alle regels in het `syslog`-bestand die de string 'error' bevatten.

Zoek naar 'failed' (hoofdletterongevoelig) en toon regelnummers

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

Zoekt naar 'failed' ongeacht hoofdletters/kleine letters, en toont de resultaten met regelnummers.

Alleen regels zonder een specifiek patroon weergeven

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

Print alle regels in het `nginx.conf`-bestand, behalve die welke beginnen met een commentaar (#).

Zoek 'server_name' in '.conf'-bestanden, inclusief submappen

grep -r 'server_name' *.conf

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

Specifiek proces vinden (combinatie van ps en pipe)

ps aux | grep apache2

Filtert en toont alleen 'apache2'-gerelateerde processen uit de uitvoer van het `ps aux`-commando.

Zoek 'warning' of 'critical' in meerdere bestanden

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

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



Hétzelfde categoriecommando