Hvis du bruker filsøk etter innhold i Linux, kan du redusere tiden og innsatsen betydelig når du søker etter spesifikk informasjon i store og komplekse filsystemer.
Dette søket kan være spesielt nyttig når du vil finne filer som inneholder en bestemt streng eller et bestemt nøkkelord, eller når du vil finne alle filer som samsvarer med et bestemt mønster eller kriterium.
Søk etter filer etter innhold kan brukes til ulike oppgaver, for eksempel å finne
Det generelle formålet med å søke i filer etter innhold er å gjøre det enklere å arbeide med filsystemet og finne den informasjonen du trenger i filsystemet.
La oss starte med ack-verktøyet. Det ble opprettet i 2005 som et alternativ til grep, og ble raskt populært blant utviklere.
Det har flere fordeler i forhold til grep
, blant annet
grep
gjør. Dette betyr at du enkelt kan finne filer som er skjult på systemet ditt.Eksempler på hvordan du bruker ack:
- Finn alle filer i den aktuelle mappen og dens undermapper som inneholder ordet
"test": ack "test"
- Det samme, men ekskluderer filer med filtypen
.bak: ack "test" --ignore-file=match:/.bak$/
- Finn alle filer i den aktuelle mappen som inneholder strengen "hello", og skriv ut de to første linjene i hver fil:
ack "hello" --heading --max-count=2
Det andre interessante verktøyet er ripgrep. Det ligner på ack på mange måter, men bruker en raskere søkealgoritme, noe som gjør det spesielt nyttig for store prosjekter.
Her er noen eksempler:
"test": rg "test"
.bak: rg "test" --glob "!*.bak"
rg "hello" --heading --max-columns=2
Til slutt er det verdt å nevne fzf. Det er ikke bare en strengfinner som ack og ripgrep. Fzf brukes som et verktøy for å finne filer, mapper og elementer i en liste. Ellers fungerer det på samme måte som ack/ripgrep, men med den ekstra muligheten til å filtrere resultatene direkte. Her er noen eksempler:
- Søk etter filer som begynner med bokstaven F på datamaskinen din:
locate F | fzf -m
- Gå ut av den gjeldende mappen og gå til katalogen jeg ønsker:
cd **<TAB> | fzf
- Velg SVN-revisjonen og kopier nummeret til utklippstavlen:
svn log | fzf --reverse --ansi | awk '{print $1}' | pbcopy
Forhåpentligvis vil disse verktøyene hjelpe deg med å finne filene og strengene du trenger raskt og effektivt. Uansett hvilket verktøy du velger, tilbyr de alle avanserte søk som kan gjøre arbeidet ditt betydelig raskere.