Estou procurando um diretório para uma seqüência específica (para ver todas as instâncias de onde a seqüência está presente e em quais arquivos). No entanto, desejo excluir um arquivo específico da pesquisa.
Aqui está o que está acontecendo.
$echo "searchstring" > ./old_folder/useless_file
$echo "searchstring" > ./new_folder/good_file
$grep -r --exclude="old_folder/useless_file" searchstring *
./old_folder/useless_file:searchstring
./new_folder/good_file:searchstring
Aqui está a saída que eu quero:
./new_folder/good_file:searchstring
--exclude="old_folder/useless_file"
para simplesmente--exclude=useless_file
, obtém o mesmo problema? (Minha leitura da página do manual sugere que o padrão--exclude
deve ser apenas o nome da base, sem incluir o caminho.) #Respostas:
A
--exclude
opção aceita globs correspondentes aos nomes dos arquivos, não diretórios ou caminhos completos:Então, você poderia fazer:
Ou, para excluir todos os arquivos nesse diretório:
fonte