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 :

Rechercher exactement un élément d'une liste


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Par défaut Rechercher exactement un élément d'une liste
    Bonjour à vous !

    Je me posais une question, est-il possible de simplifier ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for x in "${liste[@]}"
    do
        [[ ${x} == Exit ]] && return
    done
    J'avais pensé à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -w "Exit" <<< "${liste[@]}" && return
    mais il suffirait qu'il y ait un élément de la liste qui commence par Exit pour que ça plante le truc.

    Avez vous une autre idée ?

    Merci.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ liste=( exit fin end fine send )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ grep -o "fin" <<<${liste[@]}
    fin
    fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ grep -ow "fin" <<<${liste[@]}
    fin

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Par défaut
    Salut

    oui mais non :p
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste=( exit "fin du cours" end fine send )
    me renverra que c'est vrai alors que non :p

    j'ai pensé à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -w "Exit:)" <<< "${liste[@]/%/:)}" && return
    en toute logique seul un élément dont le texte est Exit devrait s’appeler Exit non ?

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par hizoka Voir le message
    oui mais non :p
    D'où l'intérêt de toujours être précis et pointu dans son énoncé

  5. #5
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Par défaut
    Je pensais l'être en disant : mais il suffirait qu'il y ait un élément de la liste qui commence par Exit pour que ça plante le truc.

    mais ça ne l'était peut être pas :p

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par hizoka Voir le message
    Je pensais l'être en disant : mais il suffirait qu'il y ait un élément de la liste qui commence par Exit pour que ça plante le truc.

    mais ça ne l'était peut être pas :p
    Ben pas assez pour moi (mais j'avoue que des fois je suis long à la détente ).
    La preuve avec mon "fin" et "fine" qui étaient censés interpréter tes dires

    D'où la nécessité d'exemples bien précis afin de lever toutes ambiguïtés

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

Discussions similaires

  1. Recherche d'un élément dans une liste
    Par Hyssgrif dans le forum Langage
    Réponses: 3
    Dernier message: 21/02/2016, 12h13
  2. Problème de recherche des éléments dans une liste.
    Par amine1980 dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 09/04/2011, 23h34
  3. Recherche dans les éléments d'une liste
    Par adelotti dans le forum VBA Word
    Réponses: 12
    Dernier message: 19/06/2008, 16h52
  4. Réponses: 2
    Dernier message: 22/04/2008, 16h21
  5. Recherche d'un élément dans une liste triée (vitesse)
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 18/05/2006, 09h23

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