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
- Tillgängliga alternativ i grep Command
- Praktiskt exempel på grep-kommando i Linux
- 1. Skiftlägesokänslig sökning
- 2. Visa antalet träffar med hjälp av grep
- 3. Visa filnamnen som matchar mönstret med hjälp av grep
- 4. Söka efter hela orden i en fil med grep
- 5. Visar endast det matchade mönstret med hjälp av grep
- 6. Visa radnummer medan du visar utdata med grep -n
- 7. Invertera mönstermatchningen med grep
- 8. Matcha linjerna som börjar med en sträng med grep
- 9. Matcha linjerna som slutar med en sträng med grep
- 10.Anger uttryck med -e-alternativet
- 11. -f filalternativ Tar mönster från fil, ett per rad
- 12. Skriv ut n specifika rader från en fil med grep
- 13. Sök rekursivt efter ett mönster i katalogen
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
1. Skiftlägesokänslig sökning
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
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
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
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
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
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
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
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
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
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.