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 POSIX Discussion :

Utilisation de find et -exec [OS X] [SH]


Sujet :

Shell et commandes POSIX

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 18
    Points : 15
    Points
    15
    Par défaut Utilisation de find et -exec
    Bonjour à tous

    je cherche à écrire un script shell pour rechercher parmi de nombreux répertoires des fichiers dont le nom est construit de la manière suivante : "nom date" et dont le format est soit .doc soit .rtf. Le but étant de copier ces fichiers dans un nouveau répertoire.

    J'ai donc écrit le code suivant, qui fonctionne, mais qui ne copie que les fichiers rtf.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while read -r ligne; do
        set $(echo $ligne)
        nom=$(eval echo $1)
        date=$(eval echo $2)
        echo "$ligne"
        find "/PATH" -iname "$nom $date.doc" -o -iname "$nom $date.rtf"   -exec cp {} "/nouveau_dossier" \;
    done    < $file
    Du coup, j'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while read -r ligne; do
        set $(echo $ligne)
        nom=$(eval echo $1)
        date=$(eval echo $2)
        echo "$ligne"
        find "/PATH" \(-iname "$nom $date.doc" -o -iname "$nom $date.rtf" \)  -exec cp {} "/nouveau_dossier" \;
    done    < $file
    et cela ne fonctionne pas, le shell m'indiquant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find: ): no beginning '('
    J'imagine que la solution est toute simple, mon idée étant de bien individualiser les deux étapes de la commande...
    Merci de votre aide!

    bash-3.2$
    GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)

  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 378
    Points
    19 378
    Par défaut
    Bonjour,

    je n'obtiens pas le même message d'erreur, mais sans espace après la parenthèse ouvrante, la commande échoue aussi sur Linux.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2016
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    en mettant l'espace après la parenthèse ouvrante, cela fonctionne.
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utilisation de l'option -exec de find
    Par panach91 dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 17/01/2008, 11h34
  2. utilisation des commandes "." et "exec"
    Par khaliloum dans le forum Linux
    Réponses: 2
    Dernier message: 13/01/2007, 09h08
  3. Utilisation de find
    Par Fry dans le forum Administration système
    Réponses: 2
    Dernier message: 02/11/2006, 15h39
  4. [C++ .NET] Comment utiliser fonction Find ?
    Par thecrax dans le forum Framework .NET
    Réponses: 3
    Dernier message: 17/08/2006, 09h02
  5. [VBA-E] Pb avec l'utilisation de .Find
    Par belfaigore dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2006, 07h38

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