
Estou procurando arquivos que contenham uma string. Meu comando:
grep -rwl '/path/' -e "string"
Quero limitar o resultado a caminhos que contenham uma string diferente. Eu posso fazer assim:
grep -rwl '/path/' -e "string" | grep 'path_string'
Gostaria de otimizar a execução, se possível, observando apenas os caminhos com 'path_string' para começar. Como posso fazer isso?
Responder1
Você poderia usar find
com -path
, por exemplo
find /path -path '*path_string*' -type f -exec grep -qw 'string' {} \; -print
Isso procurará /path
nomes de arquivos que correspondam a 1 padrão de shell *path_string*
e será executado grep
apenas nesses arquivos, imprimindo seus nomes se for bem-sucedido.
1: a correspondência de padrão é aplicada a todo o nome do arquivo, começando em/path/