search – ripgrep: imprime solo los nombres de archivo que coinciden con el patrón

Pregunta:

Usando ripgrep ( rg ) , ¿puedo imprimir solo los nombres de archivo que coinciden con un patrón dado?

Hay dos cosas distintas que estoy intentando hacer:

  1. Haga coincidir el patrón con el nombre de la ruta en sí (como el ag -g pattern )
  2. Haga coincidir el patrón con el contenido del archivo e imprima solo el nombre del archivo

No sé cómo hacer ninguna de las dos.

Respuesta:

  1. Imprima solo el nombre de archivo donde coincida el contenido:

     rg -l regex # OR: long-option form rg --files-with-matches regex
  2. Imprima solo las entradas del directorio (nombres de archivo) que coincidan con el patrón dado en <directory> :

     rg -g '*glob*' --files <directory>

    El -g especifica un glob cuyas reglas coinciden .gitignore patrones .gitignore .

    Anteponga un glob a ! para excluirlo.

    Utilice --iglob lugar de -g para un glob que no --iglob entre mayúsculas y minúsculas.

    --files imprime cada archivo que se buscaría sin realizar la búsqueda.


Una forma menos eficiente de hacer (2) sería:

rg -lg '*pattern*' . <directory>

El . dice que coincida con cualquier carácter dentro de los archivos (por lo que no coincidirá en archivos vacíos).

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım