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
- Alternativer tilgjengelig i grep Command
- Praktisk eksempel på grep-kommando i Linux
- 1. søk uten store og små bokstaver
- 2. Vise antall treff ved hjelp av grep
- 3. Vis filnavnene som samsvarer med mønsteret ved å bruke grep
- 4. Se etter hele ordene i en fil ved å bruke grep
- 5. Viser bare det samsvarende mønsteret ved å bruke grep
- 6. Vis linjenummer mens du viser utdata ved å bruke grep -n
- 7. Invertere mønstermatchen ved å bruke grep
- 8. Matche linjene som starter med en streng ved å bruke grep
- 9. Matche linjene som slutter med en streng ved å bruke grep
- 10.Spesifiserer uttrykk med -e-alternativet
- 11. -f filalternativ Tar mønstre fra fil, ett per linje
- 12. Skriv ut n spesifikke linjer fra en fil ved å bruke grep
- 13. Søk rekursivt etter et mønster i katalogen
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
1. søk uten store og små bokstaver
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
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
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
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
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
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
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
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
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
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.