Linux tillhandahåller grep för textfiltrering. Men i vissa situationer kan vi behöva ett mer utökat verktyg för att matcha ett givet mönster i givna textfiler. Detta verktyg kallas Extended Global Regular Expression Print eller helt enkelt egrep . egrep ger utökade funktioner jämfört med det vanliga grep-verktyget.

Syntaxen för egrep-kommandot är som nedan.

egrep FLAG REGEX FILE
  • `FLAG` används för att ändra vissa beteenden hos `egrep`-kommandot.
  • `REGEX` är det mönster vi vill söka i regex-format.
  • `FILE` är filnamnet vi ska söka i

Söka normalt

Vi kan använda egrep för att söka i normal text utan att ange reguljära uttryck. Vi behöver bara ange den term vi vill söka. I det här exemplet kommer vi att söka ismail i filen som heter /etc/passwd .

$ egrep ismail /etc/passwd
Sök normalt

Match Lines Contains Numeric Characters

Vi kan specificera numeriska tecken med hjälp av , vilket innebär ett av de numeriska värdena från 0 till 9.

$ egrep ''/etc/passwd

Match Lines Contains Alphabet Characters

Vi kan också ange alfabetiska tecken med för små bokstäver och för stora bokstäver. I det här exemplet kommer vi att matcha stora bokstäver.

$ egrep ''/etc/passwd
Match Lines Contains Alphabet Characters

Match All Lines Starting with Alphabet

Vi kan matcha början av raderna med ^ tecken. I det här exemplet kommer vi att leta efter alla rader som börjar med alfatecken.

$ egrep '^' myinput.py
Match All Lines Starting with Alphabet

Match All Lines Ending with Numeric

Vi kan specificera slutet av raden med $ tecken. Följande kommando listar alla rader som slutar med ett numeriskt tecken.

$ egrep '$' myinput.py

Match Caseinsenstive

egrep är som standard case senstive. Stor bokstavskänsla innebär att stora och små bokstäver skiljer sig åt, t.ex. A skiljer sig från a. Vi kan göra vår match okänslig för stora och små bokstäver om vi vill med alternativet -i som flagga. Följande exempel matchar alla följande ord

  • IsmaiL
  • ismAIL
  • ISMAIL
$ egrep -i 'ismail' myinput.py

Lämna ett svar

Din e-postadress kommer inte publiceras.