At bruge filsøgning efter indhold i Linux kan reducere tid og kræfter betydeligt, når man søger efter specifikke oplysninger i store og komplekse filsystemer.
Denne søgning kan være særlig nyttig, når du vil finde filer, der indeholder en bestemt streng eller et bestemt nøgleord, eller når du vil finde alle filer, der matcher et bestemt mønster eller kriterium.
Søgning efter filer efter indhold kan bruges til forskellige opgaver, f.eks. at finde:
Det generelle formål med at søge i filer efter indhold er at gøre det nemmere at arbejde med filsystemet og finde de oplysninger, du har brug for i filsystemet.
Lad os starte med ack-værktøjet. Det blev skabt i 2005 som et alternativ til grep og blev hurtigt populært blandt udviklere.
Det har flere fordele i forhold til grep
, bl.a:
grep.
Det betyder, at du nemt kan finde skjulte filer på dit system.Eksempler på, hvordan man bruger ack:
- Find alle filer i den aktuelle mappe og dens undermapper, der indeholder ordet
"test": ack "test"
- Det samme, men ekskluderer filer med filtypenavnet
.bak: ack "test" --ignore-file=match:/.bak$/
- Find alle filer i den aktuelle mappe, der indeholder strengen "hello", og udskriv de første to linjer i hver fil:
ack "hello" --heading --max-count=2
Det andet interessante værktøj er ripgrep. Det ligner ack på mange måder, men bruger en hurtigere søgealgoritme, hvilket gør det særligt nyttigt til store projekter.
Her er nogle eksempler:
"test": rg "test"
.bak: rg "test" --glob "!*.bak"
rg "hello" --heading --max-columns=2
Til sidst er det værd at nævne fzf. Det er ikke bare en strengfinder som ack og ripgrep. Fzf bruges som et værktøj til at finde filer, mapper og elementer i en liste. Ellers fungerer det på samme måde som ack/ripgrep, men med den ekstra mulighed for at filtrere resultaterne live. Her er nogle eksempler:
- Søg efter filer, der starter med bogstavet F på din computer:
locate F | fzf -m
- Forlad den aktuelle mappe og gå til den ønskede mappe:
cd **<TAB> | fzf
- Vælg SVN-revisionen, og kopier nummeret til udklipsholderen:
svn log | fzf --reverse --ansi | awk '{print $1}' | pbcopy
Forhåbentlig vil disse værktøjer hjælpe dig med at finde de filer og strenge, du har brug for, hurtigt og effektivt. Uanset hvad du vælger, tilbyder de alle avancerede søgninger, der kan fremskynde dit arbejde betydeligt.