Použití vyhledávání souborů podle obsahu v systému Linux může výrazně snížit čas a úsilí při hledání konkrétních informací ve velkých a složitých souborových systémech.
Toto vyhledávání může být užitečné zejména tehdy, když chcete najít soubory, které obsahují určitý řetězec nebo klíčové slovo, nebo když chcete najít všechny soubory, které odpovídají určitému vzoru nebo kritériu.
Vyhledávání souborů podle obsahu lze použít k různým úkolům, například k vyhledávání:
Obecným účelem vyhledávání souborů podle obsahu je usnadnit práci se souborovým systémem a najít v něm potřebné informace.
Začněme nástrojem ack. Byl vytvořen v roce 2005 jako alternativa k grepu a rychle si získal oblibu mezi vývojáři.
Oproti grepu
má několik výhod, mj:
grep
. To znamená, že můžete snadno najít soubory skryté v systému.Příklady použití ack:
- Vyhledat všechny soubory v aktuální složce a jejích podsložkách, které obsahují slovo "
test": ack "test".
- Totéž, ale s vyloučením souborů s příponou
.bak: ack "test" --ignore-file=match:/.bak$/
- Vyhledání všech souborů v aktuální složce obsahujících řetězec "hello" a vypsání prvních dvou řádků každého souboru:
ack "hello" --heading --max-count=2
Druhým zajímavým nástrojem je ripgrep. V mnoha ohledech se podobá ack, ale používá rychlejší vyhledávací algoritmus, což je užitečné zejména pro velké projekty.
Zde je několik příkladů:
"test": rg "test"
.bak: rg "test" --glob "!*.bak"
rg "hello" --heading --max-columns=2
Na závěr stojí za zmínku fzf. Není to jen vyhledávač řetězců jako ack a ripgrep. Fzf se používá jako nástroj pro vyhledávání souborů, složek a položek v seznamu. Jinak funguje podobně jako ack/ripgrep, ale s přidanou možností živého filtrování výsledků. Zde je několik příkladů:
- Vyhledávání souborů začínajících písmenem F v počítači:
locate F | fzf -m
- Ukončit aktuální složku a přejít do požadovaného adresáře:
cd **<TAB> | fzf
- Vyberte revizi SVN a zkopírujte její číslo do schránky:
svn log | fzf --reverse --ansi | awk '{print $1}' | pbcopy
Doufejme, že vám tyto nástroje pomohou rychle a efektivně najít potřebné soubory a řetězce. Ať už si vyberete kterýkoli z nich, všechny nabízejí pokročilé vyhledávání, které může výrazně urychlit vaši práci.