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