GNU/Linux >> Linux Esercitazione >  >> Linux

Escludi elenco di file da find

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.


Linux
  1. Escludi directory in Trova?

  2. Ottieni l'elenco di tutti i file per maschera nel terminale?

  3. Escludere un elenco di directory da Unix Find Command?

  4. Come trovare tutti i file che terminano con .rb con Linux?

  5. Come elencare i file eliminati di recente da una directory?

Come trovare file in Linux

Come elencare i file installati da un pacchetto RPM o DEB in Linux

Trova file di grandi dimensioni in Linux

Come trovare ed elencare in modo ricorsivo i file per data in Linux

Elenca i file più grandi della dimensione del file specificata

File specifici di Linux (mv o cp) da un elenco di file di testo?