Hva Er Forskjellen Mellom Grep, Egrep og Fgrep I Linux?

et av De berømte søkeverktøyene På Unix-lignende systemer som kan brukes til å søke etter noe, enten det er en fil, eller en linje eller flere linjer i filen, er grep utility. Det er veldig stort i funksjonalitet som kan tilskrives det store antallet alternativer den støtter som: søker ved hjelp av strengmønster, eller reg-ex mønster eller perl basert reg-ex etc.

Forskjellen mellom grep, egrep og fgrep
Forskjellen mellom grep, egrep og Fgrep I Linux

På grunn av sine varierende funksjoner, har den mange varianter, inkludert grep, egrep (utvidet grep), fgrep (fast grep), pgrep (prosess grep), rgrep (rekursiv grep) etc. Men disse variantene har mindre forskjeller til original grep som har gjort dem populære og skal brukes av Ulike Linux-programmerere for bestemte oppgaver.Det Viktigste som gjenstår å bli undersøkt er hva som er forskjellene mellom de tre hovedvarianter, dvs. ‘grep’, ‘egrep’ og ‘fgrep’ av grep som gjør At Linux-brukere velger den ene eller den andre versjonen som per krav.

Noen Spesielle Metategn av grep

  1. + – Tilsvarer en eller flere forekomster av forrige tegn.
  2. ? div – – dette betegner nesten 1 gjentakelse av forrige tegn. Liker: a? ville matche ‘ a ‘eller ‘ aa’.
  3. (
  4. )
  5. | – Samsvarende et av uttrykkene atskilt med '|'. Liker: "(a|b)cde” ville matche enten ‘abcde’ eller ‘bbcde’.
  6. { -dette metategnet angir starten på områdespesifikatoren. Liker: "a{2}” matcher » aa » i fil, dvs.en 2 ganger.
  7. } -dette metategnet angir slutten på områdespesifikatoren.

Forskjeller mellom grep, egrep og fgrep

noen hovedforskjeller mellom grep, egrep og fgrep kan utheves som følger. For dette settet med eksempler antar vi filen som operasjonen utføres for å være:

Linux grep Kommando
Linux grep Kommando

Grep Kommando

grep Eller Globalt Regulært Uttrykk Er hovedsøkeprogrammet På Unix-lignende systemer som kan søke etter alle typer streng på en fil eller liste over filer eller utgang av en kommando.12 Praktiske Eksempler På Linux grep Kommando Den bruker Grunnleggende Regulære Uttrykk bortsett fra normale strenger som et søkemønster. I Grunnleggende Regulære Uttrykk( BRE), meta-tegn som: '{','}''(',')''|''+''?' mister sin betydning og blir behandlet som vanlige tegn på streng og behov å bli rømt hvis de skal behandles som spesialtegn.11 Advance ‘Grep’ Kommandoer På Tegnklasser og Brakettuttrykk

grep bruker Også boyer-Moore-algoritmen for rask søking av streng eller vanlig uttrykk.

$ grep -C 0 '(f|g)ile' check_file$ grep -C 0 '\(f\|g\)ile' check_file
Linux grep Command Example
Linux grep Command Example

Like here, when the command is run without escaping '(' ')' and '|' then it searched for the complete string i.e. "(f|g)ile” in the file. Men da spesialtegnene ble rømt, så i stedet for å behandle dem som en del av string, behandlet grep dem som meta-tegn og søkte etter ord "file” eller "gile” i filen.

Egrep Kommando

Egrep eller grep-E er en annen versjon av grep eller Den Utvidede grep. Denne versjonen av grep er effektiv og rask når det gjelder å søke etter et regulært uttrykksmønster som det behandler meta-tegn som det er og erstatter dem ikke som strenger som i grep, og dermed er du befriet fra byrden av å rømme dem som i grep. DEN bruker ERE eller Utvidet Regulære Uttrykk sett.

i tilfelle egrep, selv om du ikke unnslipper meta-tegnene, vil det behandle dem som spesialtegn og erstatte dem for deres spesielle betydning i stedet for å behandle dem som en del av string.

$ egrep -C 0 '(f|g)ile' check_file$ egrep -C 0 '\(f\|g\)ile' check_file
Eksempler På Linux egrep-Kommandoer
Eksempler på Linux egrep-Kommandoer

Som her, egrep søkte etter "file” streng når meta-tegnene ikke ble rømt som det ville bety ved betydningen av disse tegnene. Men da disse tegnene ble rømt, behandlet egrep dem som en del av string og søkte etter komplett streng "(f|g)ile” i filen.

Fgrep Kommando

fgrep eller Fast grep eller grep-F er enda en versjon av grep som er rask i å søke når det gjelder å søke etter hele strengen i stedet for regulære uttrykk som det ikke gjenkjenner regulære uttrykk, verken noen meta-tegn. For å søke etter en direkte streng, er dette versjonen av grep som skal velges.

Fgrep søker etter komplett streng og gjenkjenner ikke engang spesialtegn som en del av vanlig uttrykk, selv om det er rømt eller ikke rømt.

$ fgrep -C 0 '(f|g)ile' check_file$ fgrep -C 0 '\(f\|g\)ile' check_file
Linux Fgrep Kommandoeksempler
Linux Fgrep Kommandoeksempler

Liker, når meta-tegn ble ikke rømt, fgrep søkte etter den komplette strengen "(f|g)ile” i filen, og når meta-tegnene ble rømt, søkte fgrep-kommandoen etter "\(f\|g\)ile” alle tegn som er i filen.Vi har allerede dekket noen praktiske eksempler på grep-kommandoen du kan lese dem her, hvis du vil få mer ut av grep-kommandoen I Linux.Lær 12 Praktiske Eksempler På Linux grep Kommando

Konklusjon

Ovenfor uthevet er forskjellene mellom ‘grep’, ‘egrep’ og ‘fgrep’. Bortsett fra forskjellen i settet med regulære uttrykk som brukes, og hastigheten på utførelsen, forblir rest kommandolinjeparametere samme for alle de tre versjonene av grep, og selv i stedet for «egrep» eller «fgrep», «grep-E» eller «grep-F» anbefales å brukes.

Posted on

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.