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
Søg normalt

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 Lines Contains Alphabet Characters

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 Starting with Alphabet

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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.