8. Juli 2024

Grep - bliv en søgehaj på få minutter

Hvis du lever i et terminalvindue, så er det godt at kende grep-kommandoen. Grep kan søge i filer og indhold, der outputtes på skærmen.

Bruger du grep uden parametre, så sker der intet, for den forventer at modtage input et sted fra. Men grep kan bruges til at søge i filer. Skriver du f.eks

grep "hest" mintekst.txt

så vil den søge i… ja, nemlig mintekst.txt efter ordet hest. Føjer du en ekstra parameter på, f.eks en ny tekstfil, vil den søge i begge angivede filer. Du kan også anvende wildcards såsom *.txt, så vil kommandoen søge i samlige txt-filer i den aktive mappe.

grep "hest" *.txt

grep er imidlertid ikke særlig hjælpsom, hvis du søger i en større tekst, for så meddeler den dig egentlig bare, at teksten findes. Men du kan tilføje en parameter, der hedder -n, så vil grep også outputte linjenummeret som den fundne tekst står på.

grep -n "hest" *.txt

Føjer du -r på, så søger grep igennem alle filer, også rekursivt i undermapper, og så bliver det noget nemmere at lede efter f.eks bestemte linjer kode i store projekter (der findes andre hurtigere værktøjer såsom ripgrep).

grep -rn "hest"

Du kan også få grep til fremhæve bestemte linier fra andre kommandoer, hvis du “sender” indholdet til grep.

ps aux | grep -i "firefox"

vil vise dig om Firefox er en aktiv, kørende process, -i betyder at grep søger gennem alt indhold uanset om der er forskel på store eller små bogstaver.

Mere hjælp

Har du brug for mere hjælp, kan du altid skrive

man grep

i terminalen