GNU/Linux >> Tutoriales Linux >  >> Linux

Silver Searcher:una herramienta de búsqueda de código similar a Ack

Silver Searcher es una herramienta de búsqueda de código de línea de comandos de buena reputación que se atribuye a ser multiplataforma, de código abierto y gratuita. Comparte la mayoría de sus atributos funcionales con las funciones de búsqueda de texto sin formato de grep. La principal diferencia entre estas dos herramientas es que Silver Searcher ofrece una sobrecarga de rendimiento más rápida.

[ También te puede interesar:Ripgrep:la herramienta de búsqueda de línea de comandos más rápida para Linux ]

Este artículo es para programadores o aspirantes a programadores y usuarios de Linux que pasan la mayor parte de su tiempo frente a un editor de código fuente, una terminal de sistema operativo o cualquier otro entorno programable. No solo se beneficiará de la velocidad del buscador Silver, sino también de su algoritmo específico para ignorar archivos para patrones de archivos como “.gitignore ” y “.hgignore ” extensiones.

Instalar Silver Search en Linux

Dependiendo de la distribución del sistema operativo Linux en la que se encuentre, puede instalar Silver Search herramienta de una de las siguientes selecciones de comandos.

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

Ejemplos de uso de Silver Searcher

Para usar esta herramienta, primero debe estar en su entorno de terminal Linux. La flexibilidad de esta herramienta es que para hacer coincidir una cadena de búsqueda específica, puede estar en la misma ruta que ese archivo o directorio o puede especificar la ruta al archivo o directorio desde donde desea consultar el resultado de una cadena de búsqueda.

Encuentre coincidencias de cadenas específicas en directorios y subdirectorios

La búsqueda plateada filtrará y resaltará los resultados de coincidencia de cadena especificados de sus carpetas y directorios actuales a sus subcarpetas y subdirectorios.

$ ag photo

Buscar coincidencias de cadenas en un directorio específico

Se consulta el directorio especificado en busca del nombre de cadena coincidente y se resaltan los resultados.

$ ag tech /home/dnyce/Desktop

Encuentre coincidencias de cadenas en formato AckMate

Encuentre las coincidencias de cadenas en un directorio y envíelas en formato AckMate.

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

Buscar coincidencias de cadenas e imprimir columnas asociadas

Busque las coincidencias de cadena en un directorio e imprima los números de columna en los resultados.

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

Buscar coincidencias de cadenas y generar palabras asociadas

Encuentre las coincidencias de cadena en un directorio y genere solo palabras completas asociadas.

$ ag -w tech  /home/dnyce/Desktop

En el caso anterior, el buscador Silver generará coincidencias con "tecnología ” como una palabra completa. Esta "tecnología ” coincide con palabras como “tecnología ” y “técnico ” será ignorado.

Buscar cadena solo en archivos de texto

Las coincidencias de búsqueda solo provienen de archivos de texto y ningún otro tipo de archivo. Los archivos protegidos son inaccesibles

$ ag -t photo .

Buscar cadenas en todos los tipos de archivo

Encuentre coincidencias de cadenas en todos los tipos de archivos.

$ ag -a photo ~/Downloads

Los archivos binarios coincidentes también se resaltan como una coincidencia.

Buscar cadena en archivos ocultos

También puede encontrar coincidencias de cadenas en todos los tipos de archivos con inclusión en archivos ocultos.

$ ag -u -w .ignore 

Buscar cadenas en archivos comprimidos

Si necesita consultar dentro de archivos comprimidos o comprimidos, un buscador Silver se encargará de todo. Su búsqueda de coincidencia de cadenas debe apuntar a la ruta relativa de ese archivo comprimido.

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

Buscar cadena con enlaces simbólicos

El -f flag activa una salida con estos enlaces simbólicos.

$ ag -tf root /etc/ 

Encuentre coincidencias de cadenas con cierta profundidad de directorio

La búsqueda de profundidad de directorio predeterminada de Silver Search desde el punto en que se activa una búsqueda de cadenas es 25. Busca 25 niveles de profundidad en un directorio para posibles coincidencias de cadenas.

Podemos extender o reducir este valor de búsqueda de profundidad con --depth parámetro como se muestra a continuación.

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

Como puede ver, la búsqueda de la coincidencia de cadena “root ” ha llegado a 3 directorios de profundidad.

Integración del editor de búsqueda Silver

Puedes usar esta herramienta de búsqueda desde tu Vim (ack.vim) editor después de implementar el siguiente paso de integración.

Rastree el .vimrc archivo y guárdelo en cualquiera de las siguientes líneas.

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

Si necesita más exposición y opciones para usar esta herramienta de búsqueda de línea de comandos rápida, extensa y poderosa, use el man ag Comando en la terminal de su sistema Linux para obtener más alternativas a su uso. Este artículo ha proporcionado una guía equilibrada sobre cómo navegar por la utilidad de búsqueda Silver.


Linux
  1. Escapar de los caracteres desconocidos de la cadena para -exec?

  2. Manipular {} Cadena de retorno de Find -exec?

  3. Herramienta de comparación de código para Linux

  4. ¿Cómo encontrar el índice de una palabra en una cadena en bash?

  5. bash - encuentra la posición del índice de cadena de la subcadena

Una alternativa amigable a la herramienta de búsqueda en Linux

Cómo encontrar una cadena en un archivo en Linux

Cómo encontrar la longitud de la cadena en Bash [Consejo rápido]

Cómo usar Sed para buscar y reemplazar una cadena en un archivo

¿Busca múltiples patrones (palabras) con ack?

comando find / grep sin buscar recursos compartidos montados