Linux tilbyder grep
til tekstfiltrering. Men i nogle situationer kan vi have brug for mere udvidet værktøj til at matche et givet mønster i givne tekstfiler. Dette værktøj kaldes Extended Global Regular Expression Print
eller blot egrep
. egrep
giver udvidede funktioner i forhold til det almindelige grep
-værktøj.
Syntaksen for egrep
-kommandoen er som nedenfor.
egrep FLAG REGEX FILE
- `FLAG` bruges til at ændre nogle af `egrep`-kommandoens adfærd.
- `REGEX` er det mønster, vi ønsker at søge i regex-format.
- `FILE` er det filnavn, vi vil søge i
Søg normalt
Vi kan bruge egrep
til at søge i normal tekst uden at angive regulært udtryk. Vi skal blot angive det udtryk, vi ønsker at søge. I dette eksempel vil vi søge ismail
i filen med navnet /etc/passwd
.
$ egrep ismail /etc/passwd
Match Lines Contains Numeric Characters
Vi kan angive numeriske tegn ved at bruge , som betyder en af de numeriske værdier fra 0 til 9.
$ egrep ''/etc/passwd
Match Lines Contains Alphabet Characters
Vi kan også angive alfabetiske tegn med for små bogstaver og
for store bogstaver. I dette eksempel vil vi matche store bogstaver.
$ egrep ''/etc/passwd
Match All Lines Starting with Alphabet
Vi kan matche starten af linjerne med ^
-tegnet. I dette eksempel vil vi se alle linjer, hvor starter med alfabetiske tegn.
$ egrep '^' myinput.py
Match All Lines Ending with Numeric
Vi kan angive slutningen af linjen med $
-tegnet. Følgende kommando vil liste alle linjer, der slutter med et numerisk tegn.
$ egrep '$' myinput.py
Match Caseinsenstive
egrep
er som standard case senstive. Store og små bogstaver betyder, at store og små bogstaver vil være forskellige, som f.eks. at A
er forskellig fra a
. Vi kan gøre vores match caseinsensitive, hvis vi ønsker det, med -i
indstilling som flag. Følgende eksempel vil matche alle følgende ord
- IsmaiL
- ismAIL
- ISMAIL
$ egrep -i 'ismail' myinput.py
$ egrep -i 'ismail' myinput.py