No creo find
tiene una opción como esta, podría construir un comando usando printf
y su lista de exclusión:
find /dir -name "*.gz" $(printf "! -name %s " $(cat skip_files))
Que es lo mismo que hacer:
find /dir -name "*.gz" ! -name first_skip ! -name second_skip .... etc
Alternativamente, puede canalizar desde find
en grep
:
find /dir -name "*.gz" | grep -vFf skip_files
Esto es lo que suelo hacer para eliminar algunos archivos del resultado (en este caso, busqué todos los archivos de texto pero no estaba interesado en un montón de informes de valgrind memcheck que tenemos aquí y allá):
find . -type f -name '*.txt' ! -name '*mem*.txt'
Parece estar funcionando.