Používanie vyhľadávania súborov podľa obsahu v systéme Linux môže výrazne znížiť čas a námahu pri hľadaní konkrétnych informácií vo veľkých a zložitých súborových systémoch.
Toto vyhľadávanie môže byť užitočné najmä vtedy, keď chcete nájsť súbory, ktoré obsahujú určitý reťazec alebo kľúčové slovo, alebo keď chcete nájsť všetky súbory, ktoré zodpovedajú určitému vzoru alebo kritériu.
Vyhľadávanie súborov podľa obsahu možno použiť na rôzne úlohy, ako je napríklad vyhľadávanie:
Všeobecným účelom vyhľadávania súborov podľa obsahu je uľahčiť prácu so súborovým systémom a nájsť v ňom potrebné informácie.
Začnime nástrojom ack. Bol vytvorený v roku 2005 ako alternatíva k grepu a rýchlo si získal popularitu medzi vývojármi.
Oproti grepu
má niekoľko výhod, medzi ktoré patrí napr:
grep
. To znamená, že môžete ľahko nájsť súbory skryté vo vašom systéme.Príklady použitia programu ack:
- Nájdite všetky súbory v aktuálnom priečinku a jeho podpriečinkoch, ktoré obsahujú slovo "
test": ack "test"
- To isté, ale s vylúčením súborov s príponou
.bak: ack "test" --ignore-file=match:/.bak$/
- Nájsť všetky súbory v aktuálnom priečinku obsahujúce reťazec "hello" a vypísať prvé 2 riadky každého súboru:
ack "hello" --heading --max-count=2
Druhým zaujímavým nástrojom je ripgrep. V mnohom sa podobá na ack, ale používa rýchlejší vyhľadávací algoritmus, čo ho robí obzvlášť užitočným pre veľké projekty.
Tu je niekoľko príkladov:
"test": rg "test"
.bak: rg "test" --glob "!*.bak"
rg "hello" --heading --max-columns=2
Na záver stojí za zmienku fzf. Nie je to len vyhľadávač reťazcov ako ack a ripgrep. Fzf sa používa ako nástroj na vyhľadávanie súborov, priečinkov a položiek v zozname. Inak funguje podobne ako ack/ripgrep, ale s pridanou možnosťou živého filtrovania výsledkov. Tu je niekoľko príkladov:
- Vyhľadávanie súborov začínajúcich na písmeno F v počítači:
locate F | fzf -m
- Ukončite aktuálny priečinok a prejdite do požadovaného adresára:
cd **<TAB> | fzf
- Vyberte revíziu SVN a skopírujte číslo do schránky:
svn log | fzf --reverse --ansi | awk '{print $1}' | pbcopy
Dúfajme, že tieto nástroje vám pomôžu rýchlo a efektívne nájsť potrebné súbory a reťazce. Nech si vyberiete ktorýkoľvek z nich, všetky ponúkajú pokročilé vyhľadávanie, ktoré môže výrazne urýchliť vašu prácu.