Her er 31 nyttige eksempler på grep-kommandoer i Linux/Unix sammen med deres forklaringer og bruksscenarier:
1. Søk etter en bestemt tekst i en fil:
```
grep "søk-tekst" filnavn
```
Forklaring :Skriver ut linjene som samsvarer med "søketeksten" fra det angitte filnavnet.
Eksempel :
```
grep "feil" /var/log/system.log
```
Denne kommandoen søker etter alle linjer som inneholder "feil" i systemloggfilen.
2. Søk etter en bestemt tekst rekursivt i en katalog:
```
grep -r "søk-tekst" katalognavn
```
Forklaring :Utfører et rekursivt søk etter "søk-tekst" i den angitte katalogen og alle dens underkataloger.
Eksempel :
```
grep -r "konfigurasjon" /etc/
```
Denne kommandoen søker rekursivt etter alle filer som inneholder ordet "configuration" under "/etc/"-katalogen.
3. Søk etter linjer som samsvarer med et regulært uttrykk:
```
grep -E "regex-pattern" filnavn
```
Forklaring :Bruker regulære uttrykk for å søke etter linjer som samsvarer med det angitte mønsteret.
Eksempel :
```
grep -E "^[0-9]{4}-[0-1]{1}[0-9]{1}-[0-3]{1}[0-9]{1} .*" tilgang.logg
```
Denne kommandoen bruker et regulært uttrykk for å finne alle linjer i "access.log"-filen som starter med et datoformat (ÅÅÅÅ-MM-DD etterfulgt av et klokkeslett).
4. Tell antall samsvarende linjer:
```
grep -c "søk-tekst" filnavn
```
Forklaring :Gir en telling av linjene som samsvarer med "søketeksten" i det angitte filnavnet.
Eksempel :
```
grep -c "mislyktes" /var/log/auth.log
```
Denne kommandoen teller hvor mange ganger ordet "mislyktes" vises i filen "/var/log/auth.log".
5. Skriv ut de samsvarende linjene med linjenumre:
```
grep -n "søk-tekst" filnavn
```
Forklaring :Viser de samsvarende linjene sammen med linjenumrene i det angitte filnavnet.
Eksempel :
```
grep -n "advarsel" /var/log/messages
```
Denne kommandoen viser linjenumrene til alle linjer som inneholder ordet "advarsel" i filen "/var/log/messages".
6. Ignorer sensitivitet for store og små bokstaver i søket:
```
grep -i "søk-tekst" filnavn
```
Forklaring :Utfører et søk uten store og små bokstaver etter "søk-tekst" i det angitte filnavnet.
Eksempel :
```
grep -i "Feil" /var/log/system.log
```
Denne kommandoen søker etter både store og små forekomster av ordet "Feil" i systemloggfilen.
7. Ekskluder linjer som samsvarer med en bestemt tekst:
```
grep -v "ekskluder-tekst" filnavn
```
Forklaring :Skriver ut bare linjene som ikke samsvarer med "ekskluderingsteksten" i det angitte filnavnet.
Eksempel :
```
grep -v "INFO" /var/log/meldinger | grep "FEIL"
```
Denne kommandoen ekskluderer først linjer som inneholder "INFO" fra "/var/log/messages"-filen, og søker deretter etter linjer som inneholder "ERROR" i den gjenværende utgangen.
8. Søk etter et mønster og skriv ut den foregående konteksten:
```
grep -B "num" "søk-tekst" filnavn
```
Forklaring :Skriver ut "num" linjer før den samsvarende "søketeksten" i det angitte filnavnet.
Eksempel :
```
grep -B 3 "error_message" /var/log/syslog
```
Denne kommandoen viser de 3 linjene før hver linje som inneholder "error_message" i systemloggfilen.
9. Søk etter et mønster og skriv ut følgende kontekst:
```
grep -Et "num" "søk-tekst" filnavn
```
Forklaring :Skriver ut "num" linjer etter den samsvarende "søketeksten" i det angitte filnavnet.
Eksempel :
```
grep -A 5 "successful_login" /var/log/auth.log
```
Denne kommandoen skriver ut 5 linjer etter hver linje som inneholder "successful_login" i autentiseringsloggfilen.
10. Skriv ut de samsvarende linjene med filnavn:
```
grep -H "søk-tekst" *
```
Forklaring :Viser de samsvarende linjene sammen med navnene på filene som inneholder dem når du søker i flere filer.
Eksempel :
```
grep -H "advarsel" /var/log/*.log
```
Denne kommandoen søker etter ordet "advarsel" i alle loggfiler som ligger i "/var/log/"-katalogen og skriver ut de samsvarende linjene sammen med filnavnene.
11. Skriv ut bare den samsvarende delen av linjene:
```
grep -o "matching-pattern" filnavn
```
Forklaring :Skriver ut bare den delen av linjene som samsvarer med det spesifiserte "matching-pattern" i det gitte filnavnet.
Eksempel :
```
grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9 ]\{1,3\}" access.log
```
Denne kommandoen trekker ut og skriver ut bare IP-adressene fra linjene i "access.log"-filen.
12. Bruk OR-operatoren for å søke etter flere mønstre:
```
grep -E "pattern1|pattern2" filnavn
```
Forklaring :Søker etter linjer som samsvarer med enten "pattern1" eller "pattern2" i det angitte filnavnet.
Eksempel :
```
grep -E "mislykket|vellykket" /var/log/auth.log
```
Denne kommandoen ser etter linjer som inneholder enten ordet "mislykket" eller ordet "vellykket" i autentiseringsloggfilen.
13. Avslutt etter den første kampen:
```
grep -m 1 "søk-tekst" filnavn
```
Forklaring :Stopper søket og skriver bare ut den første samsvarende linjen i det angitte filnavnet.
Eksempel :
```
grep -m 1 "kritisk feil" /var/log/messages
```
Denne kommandoen skriver bare ut den første linjen som inneholder teksten "kritisk feil" i filen "/var/log/messages".
14. Skriv ut linjenummeret til den første samsvarende linjen:
```
grep -b "søk-tekst" filnavn
```
Forklaring :Viser byteforskyvningen til den første samsvarende linjen innenfor det angitte filnavnet.
Eksempel :
```
grep -b "startserver" /var/log/syslog
```
Denne kommandoen skriver ut byteposisjonen i filen der linjen "startserver" er funnet.
15. Søk i komprimerte (.gz) filer:
```
zgrep "søk-tekst" *.gz
```
Forklaring :Tillater søk i komprimerte ".gz"-filer uten å måtte dekomprimere dem først.
Eksempel :
```
zgrep "error_message" /var/log/*.gz
```
Denne kommandoen søker etter "error_message" i alle ".gz"-filer i katalogen "/var/log/" uten å dekomprimere dem.
16. Skriv ut det samsvarende filnavnet hvis det er samsvar:
```
grep -l "søk-tekst" *
```
Forklaring :Viser filnavnene som inneholder "søketeksten" uten å skrive ut de faktiske samsvarende linjene.
Eksempel :
```
grep -l "kritisk feil" /var/log/*.log
```
Denne kommandoen viser alle loggfiler i "/var/log/"-katalogen som inneholder teksten "kritisk feil".
17. Inverter samsvarsatferden:
```
grep -v "søk-tekst" filnavn
```
Forklaring :Skriver bare ut linjene som ikke samsvarer med "søketeksten" i det angitte filnavnet.
Eksempel :
```
grep -v "200 OK" access.log
```
Denne kommandoen skriver ut alle linjer unntatt de som inneholder "200 OK" i "access.log"-filen.
18. Skriv ut bare linjene som unikt inneholder en bestemt tekst:
```
grep --only-matching "search-text" filnavn
```
Forklaring :Viser bare linjene som utelukkende samsvarer med "søketeksten" og ekskluderer linjer som også samsvarer med andre mønstre i teksten.
Eksempel :
```
grep --only-matching "vellykket tilkoblet" /var/log/messages
```
Denne kommandoen skriver bare ut linjene som inneholder nøyaktig "tilkoblet vellykket" og ikke andre varianter som "tilkoblet til databasen".
19. Fargelegg den matchende teksten:
```
grep --farge "søk-tekst" filnavn
```
Forklaring :Fremhever den matchende teksten i forskjellige farger for å forbedre lesbarheten.
Eksempel :
```
grep --farge "feil" /var/log/syslog
```
Denne kommandoen skriver ut linjene som inneholder "feil" i systemloggfilen med den matchende teksten uthevet i farger.
20. Vis statistikk for samsvarende linjer:
```
grep -c "søk-tekst" filnavn | wc -l
```
Forklaring :Gir antallet samsvarende linjer ved hjelp av grep og bruker deretter "wc -l"-kommandoen for å vise antallet.
Eksempel :
```
grep -c "advarsel" /var/log/meldinger | wc -l
```
Denne kommandoen teller først linjene med "advarsel" ved hjelp av grep og viser deretter antallet.
21. Filtrer ut binære filer mens du søker:
```
grep