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 -exec fonction ?


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 39
    Par défaut commande find -exec fonction ?
    Bonjour à tous,

    Je suis en train de réaliser un script et mon soucis est que quand je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function maFonction(){ .... }
    find [répertoire] * .java -exec maFonction \;
    Il n'a pas l'air d'être hyper fan... On ne peut pas faire un truc du style ?

  2. #2
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find ARG -exec function {} \;

  3. #3
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 39
    Par défaut
    Becket :

    Tout d'abord, merci pour ta réponse.
    Mais euh, désolé, je ne suis pas du tout un pro en shell...

    Qu'entends-tu par ARG ? (j'ai soudainement l'impression d'être un boulet ^^)

    N_BaH :


    Oui, oui. Sans le -exec tout va bien.

  4. #4
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Par ARG, j'entend, les arguments que tu passes à find

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    find / -name "*jpg*" -type f 

  5. #5
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 39
    Par défaut
    Autant pour moi, voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find [repertoire] -name "*.java" -exec maFonction \;

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    find ne sait pas utiliser les fonctions du shell !
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    maFonction() { echo "$@"; }
    export -f maFonction
    find [repertoire] -name "*.java" -exec bash -c 'maFonction $1' _ {} \;
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonsoir,

    Tout d'abord, est-ce que sans utiliser -exec tu récupères bien tous les fichiers que tu souhaites ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. find -exec et fonction
    Par benoitor dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 13/10/2011, 10h22
  2. Réponses: 0
    Dernier message: 14/09/2011, 16h27
  3. utilisation de {} dans find -exec et commandes imbriquées
    Par pitipoisson dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 07/09/2009, 11h56
  4. Commande d'une fonction exterieur
    Par 6su7 dans le forum C++
    Réponses: 16
    Dernier message: 13/02/2006, 14h53
  5. La commande find
    Par Invité4 dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 22/03/2005, 14h46

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