LINUX

Cómo instalar la herramienta ripgrep en Linux

instalar ripgrep linuxRipgrep es una herramienta de búsqueda orientada a líneas que combina la utilidad del buscador de plata y la velocidad de GNU grep. Funciona buscando de forma recursiva en la ruta del directorio actual un patrón de expresiones regulares ignorando los archivos ocultos y binarios de forma predeterminada. Actualmente es compatible con Windows, Mac OS y Linux con descargas binarias disponibles después de cada nuevo liberación.

¿Por qué utilizar ripgrep?

Es más rápido que grep, awk y sed. Ignora archivos binarios y ocultos de forma predeterminada. De manera similar a grep, puede buscar tipos específicos de archivos o ignorar otros explícitamente. De forma nativa, admite codificaciones de texto distintas de la compatibilidad con UTF y Unicode. La velocidad de Ripgrep proviene del motor de expresiones regulares de Rust a partir del cual se construyó utilizando autómatas finitos, SIMD y otras optimizaciones literales agresivas para dar cuenta de su búsqueda rápida. También admite la búsqueda con mapas de memoria con el uso de búferes intermedios, lo que lo hace adecuado para archivos individuales y directorios grandes.

Cómo instalar Ripgrep

El nombre binario para ripgrep es rg. Los binarios de Linux son ejecutables estáticos, mientras que los binarios de Windows se crean con MinGW (GNU) o con Microsoft Visual C ++ (MSVC).

En Homebrew de Mac OS X puede instalarlo desde homebrew-core, de la siguiente manera:

$ brew install ripgrep

o puede instalar un binario compilado con rust todas las noches (incluido SIMD y todas las optimizaciones) utilizando un toque personalizado:

$ brew tap burntsushi/ripgrep https://github.com/BurntSushi/ripgrep.git
$ brew install burntsushi/ripgrep/ripgrep-bin

Si es un usuario de Windows Chocolatey, puede instalar desde el repositorio oficial.

$ choco install ripgrep

Si eres un Arch Linux usuario, luego puede instalar desde los repositorios oficiales.

$ pacman -S ripgrep

Si eres un Gentoo usuario, puede instalar desde el repositorio oficial.

$ emerge ripgrep

Si eres un Fedora 24+ usuario, puede instalar desde copr.

$ dnf copr enable carlgeorge/ripgrep
$ dnf install ripgrep

Si eres un RHEL / CentOS 7 usuario, puede instalar desde copr.

$ yum-config-manager --add-repo=https://copr.fedorainfracloud.org/coprs/carlgeorge/ripgrep/repo/epel-7/carlgeorge-ripgrep-epel-7.repo
$ yum install ripgrep

Si eres un Nada usuario, puede instalar desde nixpkgs.

$ nix-env --install ripgrep #Or using the attribute name, which is also `ripgrep`

Si eres un Programador de óxido, se puede instalar con carga. Tenga en cuenta que esto requiere que tenga Rust 1.12 o más reciente instalado.

$ cargo install ripgrep

ripgrep no se encuentra actualmente en ningún otro repositorio de paquetes. Me gustaría cambiar eso.

Algunos ejemplos

Puede buscar cualquier palabra clave de forma recursiva con el comando «rg ‘nombre'» como se muestra a continuación:

$ rg plugins

Este ejemplo omite todos los archivos ocultos y binarios en la ruta de búsqueda. que se puede declarar explícitamente usando ‘-u bandera ‘ o ‘-uu flags’ Como se muestra abajo.

$ rg -uu plugins  # similar to `grep -r` 
$ rg -uuu plugins  # similar to `grep -a -r`

Buscar y reemplazar

Busque patrones del archivo dado, con un patrón por línea. Cuando esta bandera se usa o varias veces o en combinación con la ‘-e / – regexp’ , luego se buscan todos los patrones proporcionados. Las líneas de patrón vacías coincidirán con todas las líneas de entrada y la nueva línea no se cuenta como parte del patrón. -r, –remplazar reemplaza todas las coincidencias con la cadena dada al imprimir los resultados.

1) Encuentre nombres y apellidos e intercambielos usando un patrón de expresión regular asignándolos a dos variables y aplicando el –reemplazar bandera

$ rg '([A-Z][a-z]+)s+([A-Z][a-z]+)' --replace '$2, $1"https://linoxide.com/tools/install-ripgrep-linux/#"([A..Z]..)' -> regexp flag

Busca patrones en archivos con –archivos bandera que imprime cada archivo que se buscaría sin realizar la búsqueda. l: archivos con coincidencias bandera muestra las rutas con al menos una coincidencia. También en cuanto a mostrar archivos sin coincidencia (–archivos-sin-coincidencias); imprima cada archivo que se buscaría sin realizar la búsqueda. Esto es útil para determinar si se está buscando o no en un archivo en particular.

2) Busque archivos que contengan complementos en el directorio de documentos siguiendo enlaces simbólicos

$ rg -LF 'plugins' /home/localhost/Documents/ # -L flag for following symbolic links

Incluir o excluir archivos / directorios para la búsqueda que coincidan con el glob dado con el -gramo o –globo bandera. Esto siempre anula cualquier otra lógica de ignorar. Se pueden utilizar múltiples banderas glob. Coincidencia de reglas globbing .gitignore globs. Anteponga un glob a! para excluirlo.

$ rg plug -g 'README.*'
$ rg plug -g '!*.min.js' #excludes glob

Conclusión

Actualmente, Ripgrep supera a cualquier otra herramienta de búsqueda que se encuentre en el sistema Linux, ya que busca tanto directorios de archivos únicos como grandes, y es mejor tanto en rendimiento como en corrección. Además, ripgrep proporciona compatibilidad con Unicode y funciona mejor que las herramientas disponibles actualmente, como grep, awk, sed, encontrar y será una ventaja adicional para cualquier usuario de Linux.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar