Linux biedt grep
voor het filteren van tekst. Maar in sommige situaties hebben we een uitgebreider gereedschap nodig om een bepaald patroon in een tekstbestand te vinden. Dit gereedschap heet Extended Global Regular Expression Print
of gewoon egrep
. egrep
biedt uitgebreide mogelijkheden ten opzichte van grep
.
Syntax van egrep
commando is als hieronder.
egrep FLAG REGEX FILE
- `FLAG` wordt gebruikt om sommige behaivour van `egrep`commando te veranderen.
- `REGEX` is het patroon dat we willen zoeken in regex formaat.
- `FILE` is de bestandsnaam waarin we zullen zoeken
Normaal zoeken
We kunnen egrep
gebruiken om normale tekst te zoeken zonder een reguliere expressie op te geven. We hoeven alleen maar de term op te geven waarop we willen zoeken. In dit voorbeeld zoeken we in ismail
in het bestand met de naam /etc/passwd
.
$ egrep ismail /etc/passwd
Match Lines Contains Numeric Characters
We kunnen numerieke tekens opgeven door te gebruiken, wat een numerieke waarde van 0 tot 9 betekent.
$ egrep ''/etc/passwd
Match Lines Contains Alphabet Characters
We kunnen ook alfabetische tekens specificeren met voor kleine letters en
voor hoofdletters. In dit voorbeeld zullen we overeenkomen met hoofdletters.
$ egrep ''/etc/passwd
Match All Lines Starting with Alphabet
We kunnen overeenkomen met het begin van de regels met ^
-teken. In dit voorbeeld zoeken we alle regels die beginnen met een alfateken.
$ egrep '^' myinput.py
Match All Lines Ending with Numeric
We kunnen het einde van een regel opgeven met het teken $
. De volgende opdracht geeft een lijst van alle regels die eindigen met een numeriek teken.
$ egrep '$' myinput.py
Match Caseinsenstive
egrep
is standaard hoofdlettergevoelig. Hoofdlettergevoelig betekent dat hoofdletters en kleine letters verschillend zijn, zoals A
anders is dan a
. We kunnen onze overeenkomst hoofdlettergevoelig maken als we dat willen met de -i
optie als vlag. Het volgende voorbeeld zal overeenkomen met alle volgende woorden
- IsmaiL
- ismAIL
- ISMAIL
$ egrep -i 'ismail' myinput.py