GNU/Linux >> Znalost Linux >  >> Linux

Silver Searcher – Nástroj pro vyhledávání kódu podobný Ack

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.


Linux
  1. Najděte počet řádků kódu z úložiště GitHub

  2. Použití grep a sed k nalezení a nahrazení řetězce

  3. Kde najdu zdrojový kód systémového volání?

  1. Najděte všechny soubory s názvem obsahujícím řetězec

  2. Jak najít řádky obsahující řetězec v linuxu

  3. Jak najít index slova v řetězci v bash?

  1. Přátelská alternativa k nástroji find v Linuxu

  2. Shell Test najít vzor v řetězci?

  3. bash - vyhledá pozici indexu řetězce podřetězce