
Digamos que eu queira encontrar todos os arquivos em um diretório (recursivamente), mas omitir aqueles, por exemplo, in .git
e node_modules
subdiretórios. Eu posso fazer:
$ fd -uut f -E .git -E node_modules
Mas isso irá, por exemplo, excluir ./some/dir/node_modules/*
ou algo assim.
Nesse caso, provavelmente está tudo bem, mas não quero considerar sempre que preciso encontrar algo se a pesquisa não ancorada servirá. Sem falar que em alguns casos isso não acontecerá.
Como excluo ./dir
, mas não ./**/dir
?
Responder1
Para diferenciar os dois casos, faça uso do -path
predicado:
$ find . -path ./a -prune -o -type f -print