Skip to main content

4.2 - Søk etter tekst med grep

grep er et verktøy for å søke etter tekst i filer. Navnet kommer fra "Global Regular Expression Print".

Grunnleggende bruk

# Søk etter et ord i en fil
grep "ordet" fil.txt

# Søk i flere filer
grep "ordet" *.txt

# Søk i alle filer i alle mapper
grep -r "ordet" .

Nyttige flagg (opsjoner)

# Ignorer store/små bokstaver
grep -i "Ordet" fil.txt # Finner "ordet", "ORDET", "Ordet" osv.

# Vis linjenummer
grep -n "ordet" fil.txt # Viser hvilken linje ordet ble funnet på

# Vis antall treff
grep -c "ordet" fil.txt # Teller hvor mange ganger ordet forekommer

# Vis flere linjer rundt treffet
grep -A 1 "ordet" fil.txt # Viser også linjen etter treffet
grep -B 1 "ordet" fil.txt # Viser også linjen før treffet

Praktiske eksempler

# Finn alle Python-filer som inneholder ordet "import"
grep -r "import" . --include="*.py"

# Søk etter feilmeldinger i en loggfil
grep "ERROR" logg.txt

# Finn linjer som ikke inneholder et ord
grep -v "test" fil.txt

# Søk etter hele ord (ikke deler av ord)
grep -w "test" fil.txt # Finner "test" men ikke "testing"

Bruk med ls (pipe)

# Finn filer som inneholder "test"
ls | grep "test"

# Finn Python-filer
ls | grep ".py"

# Finn filer som begynner med "data"
ls | grep "^data"

# Kombiner med andre flagg
ls -l | grep "jan" # Finn filer endret i januar
ls -l | grep "^d" # Vis bare mapper
ls -l | grep "^-" # Vis bare filer
Tips
  • Bruk anførselstegn rundt søkeordet
  • Start med enkle søk og legg til flagg etter behov
  • Bruk piltaster for å hente tidligere kommandoer
  • Trykk Tab for å autofullføre filnavn
  • | (pipe) sender output fra én kommando til en annen