Cómo usar ripgrep (rg) en Linux o Mac
Este artículo contiene ejemplos de uso del comando ripgrep (rg).
ripgrep es un buscador de expresiones regulares rápido y moderno que busca recursivamente texto dentro de ficheros y que respeta automáticamente los ficheros .gitignore y omite directorios ocultos y binarios por defecto. El comando no viene preinstalado en la mayoría de los sistemas operativos, pero merece la pena aprenderlo.
Ejemplos de uso
Busca “hola” en el directorio actual:
1rg "hola"
Busca “hola” en el directorio “config”:
1rg "hola" config/
Ignora mayúsculas y minúsculas:
1rg -i "hola"
Ignora mayúsculas y minúsculas, a menos que el texto a buscar incluya mayúsculas:
1# encuentra "hola", "HOLA", "Hola", "HoLa"
2rg -S "hola"
3# encuentra "Hola"
4rg -S "Hola"
Palabras completas, por ejemplo encuentra coincidencias para “ola”, pero no para “hola”:
1rg -w "ola"
Limita la búsqueda a ciertos tipos de ficheros:
1rg "hola" --type md
2rg "select * from" --type sql
3rg "hola" -g "*.md"
4rg "select * from" -g "*.sql"
Muestra números de línea:
1rg -n "hola"
Muestra los nombres de ficheros que contienen coincidencias:
1rg -l "hola"
Muestra los nombres de ficheros que no contienen coincidencias:
1rg -L "hola"
Incluye ficheros ocultos:
1rg "hola" --hidden
rg omite por defecto los ficheros y directorios listados en .gitignore. Para incluirlos:
1rg "hola" --no-ignore
Textos que abarcan múltiples líneas:
1rg -U "hola\nmundo"
Expresiones regulares:
1rg "usuario-[0-9]+"
Omitir expresiones regulares:
1rg -F "notas.txt
Uso con sed para remplazar todas las coincidencias:
1# el parámetro -i modifica el fichero
2rg -l "hola" | xargs sed -i 's/hola/adiós/g'
