GNU/Linux >> Tutoriels Linux >  >> Linux

Exclure la liste des fichiers de la recherche

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.


Linux
  1. Exclure le répertoire dans Rechercher ?

  2. Exclure tous les fichiers de soulignement de points de Rsync ?

  3. Obtenir la liste de tous les fichiers par masque dans le terminal ?

  4. Exclure une liste de répertoires de la commande Unix Find ?

  5. Comment trouver tous les fichiers se terminant par .rb avec Linux ?

Comment trouver des fichiers sous Linux

Comment répertorier les fichiers installés à partir d'un package RPM ou DEB sous Linux

Trouver des fichiers volumineux sous Linux

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

Comment lister les fichiers récemment supprimés d'un répertoire ?

Exclure les fichiers cachés lors de la recherche avec Unix/Linux find ?