ripgrep: imprimir apenas os nomes dos arquivos correspondentes

1

Usando ripgrep ( rg ) , posso imprimir apenas os nomes de arquivos que correspondem a um determinado padrão?

Há duas coisas diferentes que estou tentando fazer:

  1. Corresponda o padrão ao próprio nome do caminho (como ag -g pattern )
  2. Corresponda o padrão ao conteúdo do arquivo e imprima apenas o nome do arquivo

Eu não sei como fazer isso.

    
por Tom Hale 03.07.2018 / 11:25

1 resposta

2

  1. Imprimir apenas o nome do arquivo em que o conteúdo corresponde:

    rg -l regex
    
  1. Imprime apenas as entradas de diretório (nomes de arquivos) que correspondem ao padrão especificado em <directory> :

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

    O -g especifica um glob cujas regras correspondem a .gitignore patterns . Preceda um glob com um ! para excluí-lo.

    --files imprime cada arquivo que seria pesquisado sem realizar a pesquisa.

Uma maneira menos eficiente de fazer (2) seria:

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

O . diz que corresponde a qualquer caractere dentro dos arquivos (portanto, não corresponderá a arquivos vazios).

    
por 03.07.2018 / 11:44