Je ne pense pas find
a une option comme celle-ci, vous pouvez créer une commande en utilisant printf
et votre liste d'exclusion :
find /dir -name "*.gz" $(printf "! -name %s " $(cat skip_files))
Ce qui revient à faire :
find /dir -name "*.gz" ! -name first_skip ! -name second_skip .... etc
Alternativement, vous pouvez diriger à partir de find
en grep
:
find /dir -name "*.gz" | grep -vFf skip_files
C'est ce que je fais habituellement pour supprimer certains fichiers du résultat (dans ce cas, j'ai cherché tous les fichiers texte mais je n'étais pas intéressé par un tas de rapports valgrind memcheck que nous avons ici et là) :
find . -type f -name '*.txt' ! -name '*mem*.txt'
Cela semble fonctionner.