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 :

Message d'erreur sur un Find à partir d'une variable


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut Message d'erreur sur un Find à partir d'une variable
    Bonjour,
    Dans un script qui aurait pour but de chercher un fichier ou un dossier, en fonction d'une liste, j'utilise cette ligne de code :

    eff est la variable contenant le terme à rechercher, dans l'exemple ci dessus, elle contient "Wx Wz" qui correspond bien à un dossier présent

    j'ai ce type de message:
    "find: paths must precede expression: `Wz' "
    Si je renomme mon dossier "WxWz" et si je change la variable eff ainsi "WxWz", là pas de problème, j'ai ma réponse "./%Germain/FAIT/WxWz"

    lorsque mon dossier est nommé "Wx Wz" et si je met des quotes dans ma variable eff ainsi: 'Wx Wz', j'ai à nouveau le message "find: paths must precede expression: `Wz''"

    Je vois bien que c'est un problème de syntaxe, mais je ne vois pas comment le résoudre en voulant garder la possibilité d'avoir des espaces dans les noms de mes dossiers ou fichiers

    Si quelqu'un à une solution ou une piste, merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par EviLSorG Voir le message
    Dans un script qui aurait pour but de chercher un fichier ou un dossier, en fonction d'une liste, j'utilise cette ligne de code :

    eff est la variable contenant le terme à rechercher, dans l'exemple ci dessus, elle contient "Wx Wz" qui correspond bien à un dossier présent
    Je ne connais pas la syntaxe `<eff`, mais, si "eff" est une variable, pourquoi ne pas faire find -name "${eff}" ?

  3. #3
    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
    ` introduit une substitution de commandes.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    ` introduit une substitution de commandes.
    Oui, je sais.
    Je n'ai pas l'habitude d'utiliser `<, mais, du coup, j'imagine que find -name `<eff` est équivalent à find -name $(cat eff) (à un uuoc près).
    J'en déduis au passage que "eff" n'est pas une variable mais un fichier...
    et j'approuve la réponse de Disedorgue que l'on peut aussi écrire find -name "$(< eff)" si on préfère la nouvelle syntaxe...
    [EDIT] un peu grillé...

  5. #5
    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
    Oui, je sais.
    ça m'a surpris, bien sûr.

    J'en déduis au passage que "eff" n'est pas une variable mais un fichier...
    c'est peut-être les deux !
    une variable qui "pointe" vers un fichier.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Je ne connais pas la syntaxe `<eff`, mais, si "eff" est une variable, pourquoi ne pas faire find -name "${eff}" ?
    J'ai essayé ta solution, je n'ai aucun résultat (ni message d'erreur).

    Le symbole > permet d'envoyer un résultat dans un fichier ou une variable.
    par exemple te permet d'enregistrer le contenu de ton dossier dans un fichier .txt.

    A l'inverse le symbole < de permet d'extraire le contenu.

    Enfin, c'est la vision que j'en ai .

  7. #7
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Tu adaptes ce que t'a suggérer jack-ft et ça fonctionnera:
    Mais tu es mal parti si tu penses que -name prend une liste...

    Dans ton fichier eff, tu ne dois avoir qu'un et un seul dossier ou fichier à rechercher.

  8. #8
    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
    ah, oui ! je n'avais pas vu le <. et je n'imaginais pas que cela fonctionne avec cette syntaxe ancienne.
    c'est la même chose que $(<fichier).

    mais il faudrait définir précisément si eff est un fichier ou un variable !
    donc, montrer plus de code.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Tu adaptes ce que t'a suggérer jack-ft et ça fonctionnera:
    Mais tu es mal parti si tu penses que -name prend une liste...

    Dans ton fichier eff, tu ne dois avoir qu'un et un seul dossier ou fichier à rechercher.
    MERCI ! ça marche impeccable comme ça

    Oui, je suis bien conscient que eff n'est qu'un seul fichier ou dossier. Je ne l'ai pas mentionné plus haut, mais eff est une extraction d'une ligne provenant d'une liste. Mais cela ne me semblait pas pertinent de le mentionné

  10. #10
    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
    avec un exposé partiel, tu auras une réponse partielle, et potentiellement erronée.
    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. Message d'Erreur sur Outlook?
    Par mnina dans le forum Outlook
    Réponses: 6
    Dernier message: 13/04/2006, 10h22
  2. [Servlet] message d'erreur sur un OutputStream
    Par jehlg dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 05/04/2006, 17h03
  3. message d'erreur sur test module
    Par Daniel MOREAU dans le forum Access
    Réponses: 5
    Dernier message: 23/11/2005, 20h19
  4. message d'erreurs sur copie de fichier
    Par screeminelle dans le forum C++
    Réponses: 9
    Dernier message: 01/11/2005, 14h21
  5. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 15h30

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