GNU/Linux >> Linux Esercitazione >  >> Linux

Silver Searcher:uno strumento per la ricerca di codici simile a Ack

Silver Searcher è uno strumento affidabile per la ricerca del codice da riga di comando che è considerato multipiattaforma, open source e gratuito. Condivide la maggior parte dei suoi attributi funzionali con le funzionalità di ricerca in testo normale di grep. La principale differenza tra questi due strumenti è che Silver Searcher offre un sovraccarico delle prestazioni più rapido.

[ Potrebbe piacerti anche:Ripgrep – Lo strumento di ricerca dalla riga di comando più veloce per Linux ]

Questo articolo è rivolto a programmatori o aspiranti programmatori e utenti Linux che trascorrono la maggior parte del loro tempo davanti a un editor di codice sorgente, un terminale del sistema operativo o qualsiasi altro ambiente programmabile. Non solo trarrai vantaggio dalla velocità di ricerca di Silver, ma anche dal suo algoritmo specifico per ignorare i file per pattern di file come ".gitignore ” e “.hgignore ” estensioni.

Installa Silver Search in Linux

A seconda della distribuzione del sistema operativo Linux in cui ti trovi, puoi installare Silver Search strumento da una delle seguenti selezioni di comando.

$ 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]    

Esempi di utilizzo di Silver Searcher

Per utilizzare questo strumento, devi prima essere nel tuo ambiente terminale Linux. La flessibilità di questo strumento è che per trovare una corrispondenza con una stringa di ricerca specifica, puoi trovarti sullo stesso percorso di quel file o directory oppure puoi specificare il percorso del file o della directory da cui desideri interrogare il risultato di una stringa di ricerca.

Trova corrispondenze di stringhe specifiche nella directory e nelle sottodirectory

La ricerca Silver filtrerà ed evidenzierà i risultati di corrispondenza della stringa specificata dalle cartelle e directory correnti alle relative sottocartelle e sottodirectory.

$ ag photo

Trova le corrispondenze di stringhe in una directory specifica

La directory specificata viene interrogata per il nome della stringa corrispondente e i risultati evidenziati.

$ ag tech /home/dnyce/Desktop

Trova le corrispondenze di stringhe nel formato AckMate

Trova le corrispondenze di stringa in una directory e generale in un formato AckMate.

$ ag --ackmate tech /home/dnyce/Desktop

Trova le corrispondenze di stringhe e stampa le colonne associate

Trova le corrispondenze di stringa in una directory e stampa i numeri di colonna nei risultati.

$ ag --column tech /home/dnyce/Desktop

Trova le corrispondenze di stringhe e genera la parola associata

Trova le corrispondenze della stringa in una directory e genera solo le parole intere associate.

$ ag -w tech  /home/dnyce/Desktop

Nel caso precedente, il ricercatore Silver emetterà corrispondenze con "tecnologia ” come una parola completa. Questa "tecnologia ” corrisponde a parole come “tecnologia ” e “tecnico ” verrà ignorato.

Trova stringa solo nei file di testo

Le corrispondenze di ricerca provengono solo da file di testo e nessun altro tipo di file. I file protetti sono inaccessibili

$ ag -t photo .

Trova stringa in tutti i tipi di file

Trova le corrispondenze della stringa in tutti i tipi di file.

$ ag -a photo ~/Downloads

Anche i file binari corrispondenti vengono evidenziati come una corrispondenza.

Trova stringa nei file nascosti

Puoi anche trovare corrispondenze di stringhe in tutti i tipi di file con inclusione nei file nascosti.

$ ag -u -w .ignore 

Trova una stringa nei file compressi

Se devi eseguire query all'interno di file compressi o zippati, un ricercatore Silver si occuperà delle cose. La tua ricerca di corrispondenza di stringhe dovrebbe puntare al percorso relativo di quel file compresso.

$ ag -z -a photo ~/Downloads/pintrest 

Trova una stringa con collegamenti simbolici

Il -f flag attiva un output con questi collegamenti simbolici.

$ ag -tf root /etc/ 

Trova corrispondenze di stringhe con una certa profondità di directory

La ricerca di profondità nella directory predefinita della ricerca Silver dal punto in cui viene attivata una ricerca di stringa è 25. Cerca in una directory 25 livelli di profondità per possibili corrispondenze di stringhe.

Possiamo estendere o ridurre questo valore di ricerca della profondità con --depth parametro come illustrato di seguito.

$ ag -tf --depth 3 root /etc/ 

Come puoi vedere, la ricerca della stringa corrisponde a “root ” è andato in profondità di 3 directory.

Integrazione con Silver Search Editor

Puoi utilizzare questo strumento di ricerca dal tuo Vim (ack.vim) editor dopo aver implementato il seguente passaggio di integrazione.

Traccia il .vimrc file e salva in esso una delle seguenti righe.

let g:ackprg = 'ag –vimgrep'
or
let g:ackprg = 'ag --nogroup --nocolor --column'

Se hai bisogno di maggiore visibilità e opzioni per utilizzare questo strumento di ricerca da riga di comando veloce, completo e potente, usa man ag comando sul terminale del tuo sistema Linux per ulteriori alternative al suo utilizzo. Questo articolo ha fornito una guida equilibrata su come navigare nell'utilità di ricerca Silver.


Linux
  1. Manipola {} Restituisce la stringa da Find -exec?

  2. Mousai:uno strumento semplice per identificare canzoni simili a Shazam

  3. Utilizzo di grep e sed per trovare e sostituire una stringa

  4. Dove posso trovare il codice sorgente della chiamata di sistema?

  5. Trova tutti i file con nome contenente una stringa

Un'alternativa amichevole allo strumento trova in Linux

Come trovare una stringa in un file su Linux

Come trovare la lunghezza della corda in Bash [Suggerimento rapido]

Come utilizzare Sed per trovare e sostituire una stringa in un file

Strumento di confronto del codice per Linux

bash - trova la posizione dell'indice della stringa della sottostringa