como emitir um padrão 'start of string' para um

3

Eu quero encontrar todos os arquivos do diretório atual e para baixo, cujo nome de arquivo começa com foo usando ag (o pesquisador de prata). Eu tentei:

ag -g '^foo' 
ag -g '\^foo' 
ag -g '\Afoo' 

sem sorte.

Mas deve funcionar como ag implementa a sintaxe PCRE, certo? O que estou perdendo aqui?

    
por ninrod 11.08.2016 / 22:35

2 respostas

1

Acontece que o ag corresponde ao nome completo do caminho do arquivo. Então nós temos que mudar o regex nas linhas de:

ag -g '/foo[^/]*$'

créditos para bmalehorn

    
por 12.08.2016 / 02:39
2

Se você não especificar um diretório e, portanto, pesquisar no diretório atual, ag parece preceder './' antes de cada caminho.

thinkbox ~% mkdir foo
thinkbox ~% cd foo
thinkbox ~/foo% touch bar
thinkbox ~/foo% ag -g '^bar' # not found            
thinkbox 1? ~/foo% ag -g '^\./bar' # found
bar
    
por 02.02.2018 / 15:11

Tags