grep kommando i Unix/Linux

grep kommando i Unix/Linux

Det grep> kommando i Unix/Linux er et kraftfuldt værktøj, der bruges til at søge og manipulere tekstmønstre i filer. Dens navn er afledt af ed (editor) kommandoen g/re/p (søg globalt efter et regulært udtryk og udskriv matchende linjer), som afspejler dets kernefunktionalitet. grep> bruges i vid udstrækning af både programmører, systemadministratorer og brugere for dets effektivitet og alsidighed i håndteringen af ​​tekstdata. I denne artikel vil vi undersøge de forskellige aspekter af grep> kommando.

Indholdsfortegnelse

Syntaks for grep-kommando i Unix/Linux

Den grundlæggende syntaks for ` grep`> kommandoen er som følger:

  grep [options] pattern [files] 

Her,

[> options> ]> : Disse er kommandolinjeflag, der ændrer adfærden af grep> .

[> pattern> ]> : Dette er det regulære udtryk, du vil søge efter.

[> file> ]> : Dette er navnet på den eller de filer, du vil søge i. Du kan angive flere filer til samtidig søgning.

Tilgængelige indstillinger i grep Command

Muligheder

Beskrivelse

-c

Dette udskriver kun en optælling af de linjer, der matcher et mønster

-h

Vis de matchede linjer, men vis ikke filnavnene.

jeg

Ignorerer, case for matching

-l

Viser kun en liste over filnavne.

-n

Vis de matchede linjer og deres linjenumre.

-i

Dette udskriver alle de linjer, der ikke matcher mønsteret

-e eksp

Angiver udtryk med denne indstilling. Kan bruges flere gange.

-f fil

Tager mønstre fra fil, et pr. linje.

-OG

Behandler mønster som et udvidet regulært udtryk (ERE)

-I

Match hele ordet

-O

Udskriv kun de matchende dele af en matchende linje, med hver sådan del på en separat outputlinje.

-A n

Udskriver søgte linje og nlines efter resultatet.

-B n

Udskriver søgt linje og n linje før resultatet.

-C n

Udskriver søgt linje og n linjer efter før resultatet.

Eksempel på kommandoer

Betragt nedenstående fil som input.

cat>geekfile.txt 

unix er fantastisk OS. unix blev udviklet i Bell labs.

lære operativsystem.

Unix linux, hvilken du vælger.

uNix er let at lære.unix er et multibruger-system. Lær unix .unix er et kraftfuldt.

Praktisk eksempel på grep-kommando i Linux

Indstillingen -i gør det muligt at søge ufølsomt efter en streng i den givne fil. Det matcher ordene som UNIX, Unix, unix.

grep -i 'UNix' geekfile.txt 

Produktion:

Ufølsom søgning

Ufølsom søgning

2. Visning af antallet af matches ved hjælp af grep

Vi kan finde antallet af linjer, der matcher den givne streng/mønster

grep -c 'unix' geekfile.txt 

Produktion:

Viser antallet af kampe

Viser antallet af kampe

3. Vis de filnavne, der matcher mønsteret ved hjælp af grep

Vi kan bare vise de filer, der indeholder den givne streng/mønster.

grep -l 'unix' * 

eller

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

Produktion:

Filnavnet, der matcher mønsteret

Filnavnet, der matcher mønsteret

4. Tjek efter hele ordene i en fil ved hjælp af grep

Som standard matcher grep den givne streng/mønster, selvom den findes som en understreng i en fil. Muligheden -w til grep gør, at den kun matcher hele ordene.

grep -w 'unix' geekfile.txt 

Produktion:

kontrollere hele ord i en fil

kontrollere hele ord i en fil

5. Viser kun det matchede mønster ved hjælp af grep

Som standard viser grep hele linjen, som har den matchende streng. Vi kan få grepet til kun at vise den matchede streng ved at bruge -o-indstillingen.

grep -o 'unix' geekfile.txt 

Produktion:

Viser kun det matchede mønster

Viser kun det matchede mønster

6. Vis linjenummer, mens du viser outputtet ved hjælp af grep -n

For at vise linjenummeret på filen med linjen matchet.

grep -n 'unix' geekfile.txt 

Produktion:

Vis linjenummer, mens outputtet vises

Vis linjenummer, mens outputtet vises

7. Invertering af Pattern Match ved hjælp af grep

Du kan vise de linjer, der ikke matches med det angivne søgestrengmønster ved at bruge -v-indstillingen.

grep -v 'unix' geekfile.txt 

Produktion:

Invertering af mønstermatchen

Invertering af mønstermatchen

8. Matche de linjer, der starter med en streng, ved hjælp af grep

^ regulære udtryksmønster angiver starten på en linje. Dette kan bruges i grep til at matche de linjer, der starter med den givne streng eller mønster.

grep '^unix' geekfile.txt 

Produktion:

Matcher de linjer, der starter med en streng

Matcher de linjer, der starter med en streng

9. Matche de linjer, der slutter med en streng, ved hjælp af grep

$ regulære udtryksmønster angiver slutningen af ​​en linje. Dette kan bruges i grep til at matche de linjer, der ender med den givne streng eller mønster.

grep 'os$' geekfile.txt 

10.Specificerer udtryk med -e mulighed

Kan bruges flere gange:

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

11. -f file option Tager mønstre fra fil, en pr. linje

cat pattern.txt 

Agarwal
Aggarwal
Agrawal

grep –f pattern.txt geekfile.txt 

12. Udskriv n specifikke linjer fra en fil ved hjælp af grep

-A udskriver den søgte linje og n linjer efter resultatet, -B udskriver den søgte linje og n linjer før resultatet, og -C udskriver den søgte linje og n linjer efter 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 

Produktion:

Udskriv n specifikke linjer fra en fil

Udskriv n specifikke linjer fra en fil

13. Søg rekursivt efter et mønster i D katalog

-R udskriver det søgte mønster i den givne mappe rekursivt i alle filerne.

Syntaks:

grep -R [Search] [directory] 

Eksempel:

grep -iR geeks /home/geeks 

Produktion:

./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. 

Konklusion

I denne artikel diskuterede vi grep> kommando i Linux, som er et kraftfuldt tekstsøgningsværktøj, der bruger regulære udtryk til at finde mønstre eller tekst i filer. Det tilbyder forskellige muligheder såsom ufølsomhed for store og små bogstaver, tælle kampe og liste over filnavne. Med evnen til at søge rekursivt, bruge flag for regulære udtryk og tilpasse output, grep> er et vigtigt værktøj for Linux-brugere til effektivt at håndtere tekstrelaterede opgaver. Mestring grep> forbedrer din evne til at arbejde med tekstdata i Linux-miljøet.