Non credo find
ha un'opzione come questa, puoi creare un comando usando printf
e il tuo elenco di esclusioni:
find /dir -name "*.gz" $(printf "! -name %s " $(cat skip_files))
Che equivale a fare:
find /dir -name "*.gz" ! -name first_skip ! -name second_skip .... etc
In alternativa puoi reindirizzare da find
in grep
:
find /dir -name "*.gz" | grep -vFf skip_files
Questo è ciò che faccio di solito per rimuovere alcuni file dal risultato (in questo caso ho cercato tutti i file di testo ma non ero interessato a una serie di rapporti memcheck di valgrind che abbiamo qua e là):
find . -type f -name '*.txt' ! -name '*mem*.txt'
Sembra funzionare.