Commande FIND avec plusieurs extensions

Résolu
Burnotyo -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

Sur un serveur linux (ubuntu 8.04 de mémoire), je cherche à localiser dans /home l'ensemble des fichiers de type RAR, ZIP, 7Z, EXE, BAT et VBS, le tout en une seule passe. Et, tant qu'à y être, sauver ça dans un fichier resultat.txt

J'ai essayé avec la commande find, mais je n'y arrive qu'avec une seule extension à la fois (et la recherche est assez longue). J'aimerais éviter de faire à chaque fois 6 passes...

Pouvez-vous me proposer un exemple ?

Burnotyo

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    find /home -type f \( -name '*.rar' -o -name "*.zip" -o -name '*.7z' -name '*.exe' -o -name '*.bat' -o -name '*.vbs' \) -print

    3
    1. Burnotyo
       
      Merci beaucoup !
      Je suis quasi-persuadé d'avoir pourtant essayé un truc dans le genre ! J'ai dû rater un truc.
      Encore merci.

      Dernière question : le zip entre guillemets ou entre apostrophes ?
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Erreur de frappe, mais les 2 sont bonnes ;-))
      0
    3. jisisv Messages postés 3678 Statut Modérateur 936
       
      Et tant qu'on y est, utilise l'option -iname qui permet de ne pas tenir compte de la casse des modèles.
      0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    find /home -regextype posix-egrep -regex '.*\.(rar|zip|7z|exe|bat|vbs)$'
    ou avec iregex
    lami20j
    3