logo

grep-kommandot i Unix/Linux

Degrep>kommando i Unix/Linux är ett kraftfullt verktyg som används för att söka och manipulera textmönster i filer. Dess namn kommer från kommandot ed (redigerare) g/re/p (sök globalt efter ett reguljärt uttryck och skriv ut matchande rader), vilket återspeglar dess kärnfunktionalitet.grep>används ofta av både programmerare, systemadministratörer och användare för dess effektivitet och mångsidighet vid hantering av textdata. I den här artikeln kommer vi att utforska de olika aspekterna avgrep>kommando.

Innehållsförteckning

Syntax för grep-kommandot i Unix/Linux

Den grundläggande syntaxen för ` grep`> kommandot är som följer:



  grep [options] pattern [files]>

Här,

[> options> ]>: Dessa är kommandoradsflaggor som ändrar beteendet förgrep>.

[> pattern> ]>: Det här är det reguljära uttrycket du vill söka efter.

lista i java

[> file> ]>: Detta är namnet på filen/filerna du vill söka i. Du kan ange flera filer för samtidig sökning.

Tillgängliga alternativ i grep Command

alternativ

Beskrivning

-c

Detta skriver bara ut ett antal linjer som matchar ett mönster

-h

Visa de matchade raderna, men visa inte filnamnen.

i

Ignorerar, fall för matchning

-l

Visar endast en lista med filnamn.

-n

Visa de matchade raderna och deras radnummer.

-i

Detta skriver ut alla linjer som inte matchar mönstret

-e exp

Anger uttryck med detta alternativ. Kan användas flera gånger.

-f filen

Tar mönster från fil, ett per rad.

-OCH

Behandlar mönster som ett utökat reguljärt uttryck (ERE)

powershell multiline kommentar

-I

Matcha hela ordet

-O

Skriv ut endast de matchande delarna av en matchande rad, med varje sådan del på en separat utmatningsrad.

-En

Skriver ut sökrad rad och rader efter resultatet.

-B n

Skriver ut sökt rad och n rad före resultatet.

-C n

Skriver ut sökt rad och n rader efter före resultatet.

Exempel på kommandon

Betrakta filen nedan som en ingång.

cat>geekfile.txt>

unix är ett bra operativsystem. unix utvecklades i Bell labs.

lära sig operativsystem.

Unix linux vilken du väljer.

uNix är lätt att lära. unix är ett multianvändar-os. Lär unix .unix är ett kraftfullt.

Praktiskt exempel på grep-kommando i Linux

Alternativet -i gör det möjligt att söka efter en sträng okänslig i den givna filen. Det matchar orden som UNIX, Unix, unix.

till strängmetoden i java
grep -i 'UNix' geekfile.txt>

Produktion:

Skiftlägesokänslig sökning

Skiftlägesokänslig sökning

2. Visa antalet träffar med hjälp av grep

Vi kan hitta antalet rader som matchar den givna strängen/mönstret

grep -c 'unix' geekfile.txt>

Produktion:

Visar antalet matcher

Visar antalet matcher

3. Visa filnamnen som matchar mönstret med hjälp av grep

Vi kan bara visa filerna som innehåller den givna strängen/mönstret.

grep -l 'unix' *>

eller

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

Produktion:

Filnamnet som matchar mönstret

Filnamnet som matchar mönstret

4. Söka efter hela orden i en fil med grep

Som standard matchar grep den givna strängen/mönstret även om den hittas som en delsträng i en fil. Alternativet -w till grep gör att det bara matchar hela orden.

grep -w 'unix' geekfile.txt>

Produktion:

våren ram
kontrollera hela ord i en fil

kontrollera hela ord i en fil

5. Visar endast det matchade mönstret med hjälp av grep

Som standard visar grep hela raden som har den matchade strängen. Vi kan få grepet att endast visa den matchade strängen genom att använda alternativet -o.

grep -o 'unix' geekfile.txt>

Produktion:

Visar endast det matchade mönstret

Visar endast det matchade mönstret

6. Visa radnummer medan du visar utdata med grep -n

För att visa radnumret på filen med raden matchad.

grep -n 'unix' geekfile.txt>

Produktion:

Visa radnummer medan utdata visas

Visa radnummer medan utdata visas

7. Invertera mönstermatchningen med grep

Du kan visa raderna som inte matchas med det angivna söksträngsmönstret med alternativet -v.

grep -v 'unix' geekfile.txt>

Produktion:

Invertera mönstermatchningen

Invertera mönstermatchningen

8. Matcha linjerna som börjar med en sträng med grep

^ reguljära uttrycksmönstret anger början på en rad. Detta kan användas i grep för att matcha linjerna som börjar med den givna strängen eller mönstret.

grep '^unix' geekfile.txt>

Produktion:

Matcha linjerna som börjar med en sträng

Matcha linjerna som börjar med en sträng

9. Matcha linjerna som slutar med en sträng med grep

$ reguljära uttrycksmönstret anger slutet på en rad. Detta kan användas i grep för att matcha linjerna som slutar med den givna strängen eller mönstret.

grep 'os$' geekfile.txt>

10.Anger uttryck med -e-alternativet

Kan användas flera gånger:

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

11. -f filalternativ Tar mönster från fil, ett per rad

cat pattern.txt>

Agarwal
Aggarwal
Agrawal

grep –f pattern.txt geekfile.txt>

12. Skriv ut n specifika rader från en fil med grep

-A skriver ut den sökta raden och n rader efter resultatet, -B skriver ut den sökta raden och n rader före resultatet, och -C skriver ut den sökta raden och n rader efter och före resultatet.

Syntax:

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

Exempel:

inurl:.git/head
grep -A1 learn geekfile.txt>

Produktion:

Skriv ut n specifika rader från en fil

Skriv ut n specifika rader från en fil

13. Sök rekursivt efter ett mönster i D katalog

-R skriver ut det sökta mönstret i den givna katalogen rekursivt i alla filer.

Syntax:

grep -R [Search] [directory]>

Exempel:

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

Slutsats

I den här artikeln diskuterade vigrep>kommando i Linux som är ett kraftfullt textsökningsverktyg som använder reguljära uttryck för att hitta mönster eller text i filer. Det erbjuder olika alternativ som skiftlägesokänslighet, räkning av matchningar och listning av filnamn. Med möjligheten att söka rekursivt, använda flaggor för reguljära uttryck och anpassa utdata,grep>är ett viktigt verktyg för Linux-användare för att effektivt hantera textrelaterade uppgifter. Masteringgrep>förbättrar din förmåga att arbeta med textdata i Linux-miljön.