logo

grep-kommandoen i Unix/Linux

Degrep>kommando i Unix/Linux er et kraftig verktøy som brukes til å søke og manipulere tekstmønstre i filer. Navnet er avledet fra ed (editor) kommandoen g/re/p (globalt søk etter et regulært uttrykk og skriv ut samsvarende linjer), som gjenspeiler kjernefunksjonaliteten.grep>er mye brukt av både programmerere, systemadministratorer og brukere for sin effektivitet og allsidighet i håndtering av tekstdata. I denne artikkelen vil vi utforske de ulike aspektene vedgrep>kommando.

Innholdsfortegnelse



Syntaks for grep-kommando i Unix/Linux

Den grunnleggende syntaksen til ` grep`> kommandoen er som følger:

  grep [options] pattern [files]>

Her,

[> options> ]>: Dette er kommandolinjeflagg som endrer oppførselen tilgrep>.



[> pattern> ]>: Dette er det regulære uttrykket du vil søke etter.

[> file> ]>: Dette er navnet på filen(e) du vil søke i. Du kan spesifisere flere filer for samtidig søk.

Alternativer tilgjengelig i grep Command

Alternativer



arraylist sortert java

Beskrivelse

-c

Dette skriver ut bare en telling av linjene som samsvarer med et mønster

-h

Vis de samsvarende linjene, men ikke vis filnavnene.

Jeg

Ignorerer, sak for matching

-l

Viser kun liste over filnavn.

-n

Vis de samsvarende linjene og linjenumrene deres.

-i

Dette skriver ut alle linjene som ikke samsvarer med mønsteret

-e exp

Angir uttrykk med dette alternativet. Kan brukes flere ganger.

-f filen

Tar mønstre fra fil, ett per linje.

-OG

Behandler mønster som et utvidet regulært uttrykk (ERE)

-I

Match hele ordet

-O

Skriv ut bare de samsvarende delene av en samsvarende linje, med hver slik del på en separat utgangslinje.

-A n

Skriver ut søkte linje og nlinjer etter resultatet.

-B n

Skriver ut søkt linje og n linje før resultatet.

-C n

Skriver ut søkt linje og n linjer etter før resultatet.

Eksempel på kommandoer

Betrakt filen nedenfor som en input.

cat>geekfile.txt>

unix er flott OS. unix ble utviklet i Bell labs.

lære operativsystemet.

Unix linux hvilken du velger.

uNix er lett å lære.unix er et flerbruker-os. Lær unix .unix er et kraftig.

Praktisk eksempel på grep-kommando i Linux

Alternativet -i gjør det mulig å søke etter en streng ufølsom i den gitte filen. Det samsvarer med ordene som UNIX, Unix, unix.

streng som en matrise
grep -i 'UNix' geekfile.txt>

Produksjon:

Søk uten store og små bokstaver

Søk uten store og små bokstaver

2. Vise antall treff ved hjelp av grep

Vi kan finne antall linjer som samsvarer med den gitte strengen/mønsteret

grep -c 'unix' geekfile.txt>

Produksjon:

Viser antall treff

Viser antall treff

3. Vis filnavnene som samsvarer med mønsteret ved å bruke grep

Vi kan bare vise filene som inneholder den gitte strengen/mønsteret.

grep -l 'unix' *>

eller

grep -l 'unix' f1.txt f2.txt f3.xt f4.txt>

Produksjon:

Filnavnet som samsvarer med mønsteret

Filnavnet som samsvarer med mønsteret

4. Se etter hele ordene i en fil ved å bruke grep

Som standard samsvarer grep med den gitte strengen/mønsteret selv om den finnes som en understreng i en fil. Alternativet -w til grep gjør at det bare samsvarer med hele ordene.

grep -w 'unix' geekfile.txt>

Produksjon:

sjekke hele ord i en fil

sjekke hele ord i en fil

5. Viser bare det samsvarende mønsteret ved å bruke grep

Som standard viser grep hele linjen som har den samsvarende strengen. Vi kan få grepet til å vise bare den samsvarende strengen ved å bruke -o-alternativet.

grep -o 'unix' geekfile.txt>

Produksjon:

Viser bare det samsvarende mønsteret

Viser bare det samsvarende mønsteret

6. Vis linjenummer mens du viser utdata ved å bruke grep -n

For å vise linjenummeret til filen med linjen matchet.

natasha dalal
grep -n 'unix' geekfile.txt>

Produksjon:

Vis linjenummer mens utdata vises

Vis linjenummer mens utdata vises

7. Invertere mønstermatchen ved å bruke grep

Du kan vise linjene som ikke samsvarer med det angitte søkestrengmønsteret ved å bruke -v-alternativet.

grep -v 'unix' geekfile.txt>

Produksjon:

Invertering av mønstermatchen

Invertering av mønstermatchen

8. Matche linjene som starter med en streng ved å bruke grep

^ regulære uttrykksmønster spesifiserer starten på en linje. Dette kan brukes i grep for å matche linjene som starter med den gitte strengen eller mønsteret.

grep '^unix' geekfile.txt>

Produksjon:

Matche linjene som starter med en streng

Matche linjene som starter med en streng

9. Matche linjene som slutter med en streng ved å bruke grep

$ regulære uttrykksmønster spesifiserer slutten av en linje. Dette kan brukes i grep for å matche linjene som slutter med den gitte strengen eller mønsteret.

grep 'os$' geekfile.txt>

10.Spesifiserer uttrykk med -e-alternativet

Kan brukes flere ganger:

grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt>

11. -f filalternativ Tar mønstre fra fil, ett per linje

cat pattern.txt>

Agarwal
Aggarwal
Agrawal

grep –f pattern.txt geekfile.txt>

12. Skriv ut n spesifikke linjer fra en fil ved å bruke grep

-A skriver ut den søkte linjen og n linjer etter resultatet, -B skriver ut den søkte linjen og n linjer før resultatet, og -C skriver ut den søkte linjen og n linjer etter og før resultatet.

Syntaks:

grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file]>

Eksempel:

grep -A1 learn geekfile.txt>

Produksjon:

Skriv ut n spesifikke linjer fra en fil

Skriv ut n spesifikke linjer fra en fil

13. Søk rekursivt etter et mønster i D katalog

-R skriver ut det søkte mønsteret i den gitte katalogen rekursivt i alle filene.

Syntaks:

grep -R [Search] [directory]>

Eksempel:

grep -iR geeks /home/geeks>

Produksjon:

./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory.>

Konklusjon

I denne artikkelen diskuterte vigrep>kommando i Linux som er et kraftig tekstsøkeverktøy som bruker regulære uttrykk for å finne mønstre eller tekst i filer. Den tilbyr ulike alternativer som ufølsomhet for store og små bokstaver, telle treff og liste over filnavn. Med muligheten til å søke rekursivt, bruke regulære uttrykksflagg og tilpasse utdata,grep>er et viktig verktøy for Linux-brukere for å effektivt håndtere tekstrelaterte oppgaver. Mestringgrep>forbedrer din evne til å arbeide med tekstdata i Linux-miljøet.