Lista filtrada de arquivos contendo cadeia

2

Estou procurando arquivos que contenham uma string. Meu comando:

grep -rwl '/path/' -e "string"

Eu quero limitar o resultado a caminhos que contenham uma string diferente. Eu posso fazer assim:

grep -rwl '/path/' -e "string" | grep 'path_string'

Eu gostaria de otimizar a execução, se possível, apenas olhando caminhos com o 'path_string' para começar. Como posso conseguir isso?

    
por Sonny 25.04.2017 / 21:57

1 resposta

2

Você pode usar find com -path , por exemplo,

find /path -path '*path_string*' -type f -exec grep -qw 'string' {} \; -print

Isso pesquisará em /path para nomes de arquivos que correspondem a 1 padrão de shell *path_string* e executará grep apenas nesses arquivos, imprimindo seus nomes se forem bem-sucedidos.

1: a correspondência de padrão é aplicada ao nome do arquivo inteiro a partir de /path/

    
por 25.04.2017 / 22:45

Tags