Silver Searcher je uznávaný nástroj pro vyhledávání kódu z příkazového řádku, který je přisuzován jako multiplatformní, open source a zdarma. Většinu svých funkčních atributů sdílí s funkcemi vyhledávání v prostém textu grep. Hlavním rozdílem mezi těmito dvěma nástroji je Silver Searcher nabízí rychlejší režii výkonu.
[ Také by se vám mohlo líbit:Ripgrep – nejrychlejší nástroj pro vyhledávání příkazového řádku pro Linux ]
Tento článek je pro programátory nebo rádoby programátory a uživatele Linuxu, kteří tráví většinu času před editorem zdrojového kódu, terminálem OS nebo jiným programovatelným prostředím. Budete těžit nejen z rychlosti Silver searcher, ale také z jeho specifického algoritmu ignorování souborů pro vzory souborů, jako je „.gitignore “ a „.hgignore ” rozšíření.
Nainstalujte Silver Search v Linuxu
V závislosti na distribuci operačního systému Linux, pod kterou se nacházíte, můžete nainstalovat Silver Search z jednoho z následujících příkazů.
$ sudo apt-get install silversearcher-ag [On Debian, Ubuntu and Mint] $ sudo yum install the_silver_searcher [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/the_silver_searcher [On Gentoo Linux] $ sudo pacman -S the_silver_searcher [On Arch Linux] $ sudo zypper install the_silver_searcher [On OpenSUSE]
Příklady použití Silver Searcher
Chcete-li použít tento nástroj, musíte být nejprve v prostředí terminálu Linux. Flexibilita tohoto nástroje spočívá v tom, že chcete-li odpovídat konkrétnímu vyhledávacímu řetězci, můžete být na stejné cestě jako tento soubor nebo adresář nebo můžete zadat cestu k souboru nebo adresáři, odkud chcete dotazovat na výsledek vyhledávacího řetězce.
Najděte konkrétní shody řetězců v adresáři a podadresářích
Stříbrné vyhledávání vyfiltruje a zvýrazní výsledky shody zadaného řetězce z vašich aktuálních složek a adresářů do jejich podsložek a podadresářů.
$ ag photo
Najděte shody řetězců v konkrétním adresáři
Zadaný adresář je dotázán na odpovídající název řetězce a výsledky jsou zvýrazněny.
$ ag tech /home/dnyce/Desktop
Najděte shody řetězců ve formátu AckMate
Najděte odpovídající řetězce v adresáři a vytiskněte je ve formátu AckMate.
$ ag --ackmate tech /home/dnyce/Desktop
Najděte shody řetězců a vytiskněte přidružené sloupce
Najděte odpovídající řetězce v adresáři a vytiskněte čísla sloupců ve výsledcích.
$ ag --column tech /home/dnyce/Desktop
Vyhledání shod řetězců a výstup přidruženého slova
Najděte odpovídající řetězce v adresáři a vytiskněte pouze související celá slova.
$ ag -w tech /home/dnyce/Desktop
Ve výše uvedeném případě bude hledač Silver generovat shody s „tech “ jako úplné slovo. Tato „tech ” se shodují ve slovech jako „technologie “ a „technik “ bude ignorováno.
Najít řetězec pouze v textových souborech
Shody hledání pocházejí pouze z textových souborů a žádný jiný typ souboru. Chráněné soubory jsou nepřístupné
$ ag -t photo .
Najít řetězec ve všech typech souborů
Najděte odpovídající řetězce ve všech typech souborů.
$ ag -a photo ~/Downloads
Odpovídající binární soubory jsou také zvýrazněny jako shoda.
Najít řetězec ve skrytých souborech
Můžete také najít shody řetězců ve všech typech souborů se zahrnutím do skrytých souborů.
$ ag -u -w .ignore
Najít řetězec v komprimovaných souborech
Pokud potřebujete hledat uvnitř komprimovaných nebo zazipovaných souborů, Silver searcher se o věci postará. Vaše hledání shody řetězce by mělo ukazovat na relativní cestu tohoto komprimovaného souboru.
$ ag -z -a photo ~/Downloads/pintrest
Najít řetězec se symbolickými odkazy
-f
flag spouští výstup s těmito symbolickými odkazy.
$ ag -tf root /etc/
Najděte shody řetězců s určitou hloubkou adresáře
Výchozí hloubkové prohledávání adresáře Silver search od okamžiku, kdy je spuštěno prohledávání řetězců, je 25. Prohledává 25 úrovní hluboko v adresáři a hledá možné shody řetězců.
Tuto hodnotu hledání hloubky můžeme rozšířit nebo snížit pomocí --depth
parametr, jak je ukázáno níže.
$ ag -tf --depth 3 root /etc/
Jak vidíte, hledání řetězce se shodou „root ” prošel 3 adresáři hluboko.
Integrace Silver Search Editor
Tento vyhledávací nástroj můžete použít ze svého Vimu (ack.vim) editor po implementaci následujícího integračního kroku.
Sledujte .vimrc
a uložte do něj některý z následujících řádků.
let g:ackprg = 'ag –vimgrep' or let g:ackprg = 'ag --nogroup --nocolor --column'
Pokud k použití tohoto rychlého, rozsáhlého a výkonného nástroje pro vyhledávání z příkazového řádku potřebujete více zviditelnění a možností, použijte man ag
na svém systémovém terminálu Linux pro více alternativ k jeho použití. Tento článek poskytuje vyváženého průvodce, jak se pohybovat v nástroji Silver search.