IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Commande FIND + OR sur le path


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 42
    Points : 37
    Points
    37
    Par défaut Commande FIND + OR sur le path
    Bonjour tout le monde !

    J'essaie d'exclude des répertoires et leurs sous-ensembles de ma recherche.

    J'arrive à en exclure un, mais je bloque pour en exclure plus.

    Pour l'instant, ma commande est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /path/to/find -name *.X ! -path "*/pathToExclude1/*" -prune
    Et ça marche bien, j'arrive à exclure le premier répertoire.

    J'ai essayé avec une option -o ou un pattern pour les suivants, ça ne marche pas.

    Une idée ?

    Merci !

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    Par défaut
    Bonjour,

    Citation Envoyé par man find
    Pour ignorer par exemple le répertoire « src/emacs » et tous ses fichiers et sous-répertoires tout en affichant le nom des autres fichiers trouvés, faites quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find . -path './src/emacs' -prune -o -print
    après, il faut affiner, grouper ce que tu ne veux pas lister.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    moi en général je fais un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    find base/ ! \( -path "base/rep1*" -o -path "base/rep2/subrep*" -o -path "base/rep3/*" \)
    # note que "base/rep3/" sera inclus dans les résultats, mais pas ce qu'il contient, contrairement à "base/rep1" qui n'apparaitra pas du tout

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Citation Envoyé par Redbass Voir le message
    Pour l'instant, ma commande est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /path/to/find -name *.X ! -path "*/pathToExclude1/*" -prune
    Et ça marche bien, j'arrive à exclure le premier répertoire.

    Attention, il faut des guillemets autour de *.X sinon, la commande va planter si plusieurs répertoires avec pour suffixe .X existent dans le répertoire courant. Elle ne va pas non plus exclure les répertoires qui n'ont pas le même nom que celui qui existe dans le répertoire courant, le cas échéant.
    ɹǝsn *sıɹɐlos*

Discussions similaires

  1. lancer un find sur plusieurs path
    Par BruneauLin dans le forum Interfaçage autre langage
    Réponses: 3
    Dernier message: 22/11/2014, 13h10
  2. Aide sur la commande find
    Par domiq44 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 27/11/2007, 16h16
  3. La commande find
    Par Invité4 dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 22/03/2005, 14h46
  4. Commande en shell -- Sur les fichiers
    Par OrangeBud dans le forum Linux
    Réponses: 8
    Dernier message: 18/05/2004, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo