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 :

Questions sur un filtre egrep


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudient ingénieur système d'information mobile
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudient ingénieur système d'information mobile

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Par défaut Questions sur un filtre egrep
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/bin/sh
    set -x
    FIC='lesmots.txt'
    if [ $# -ne 1 ]
    then echo "usage $0 mot_a_verifier"
    else
    echo "vérification de $1"
    motif="\<$1\>"
    if [ `egrep $motif $FIC | wc -l` -ne 0 ]
    then echo "OK"
    else echo "KO"
    fi
    fi
    1er FIC='lesmots.txt' est correcte en ouvre pas le fichier avec la commande cat>fichier
    2em motif="\<$1\>" pourquoi $1 et entre \< \> je connais pas sa
    en peut pas ecrire $1 directement dans egrep , merci d'avance

  2. #2
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Pour le motif de grep (pas besoin de egrep), ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [ `grep "<$1>" $FIC | wc -l` -ne 0 ]
    fonctionne correctement chez moi.

  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
    Bonjour yassin,

    Bonjour jmelyn,

    Il semble que les contre-obliques sont nécessaires : man grep
    Les symboles \< et \> correspondent respectivement à une chaîne vide en début et en fin de mot.
    On peut se dispenser de wc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [ `grep -c "\<$1\>" $FIC` -ne 0 ]
    voire même du if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep "\<$1\>" >/dev/null && echo "OK" || echo "KO"
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Tu as raison N_BaH au sujet des '\<' et '\>'. Je pensais qu'il s'agissait de trouver le mot entouré de '<' et '>', comme une balise xml. Dans le cas de la commande GNU grep, comme sur Linux, on peut utiliser l'option -q:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -q "\<$1\>" && echo "OK" || echo "KO"

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudient ingénieur système d'information mobile
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudient ingénieur système d'information mobile

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Par défaut
    merci j'ai comprit. se dispense de if et utilise && et || sa ma trop aide dans les exercices

Discussions similaires

  1. Question sur un Tri/Filtre en VBA
    Par DoVBnet dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2012, 07h50
  2. Question sur le traitement de signal (filtre)
    Par KenT2004 dans le forum Traitement du signal
    Réponses: 9
    Dernier message: 08/01/2010, 15h37
  3. Question sur le filtre XSS de IE8
    Par bigsister dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/05/2009, 10h33
  4. Question sur les Filtres dans une table Access
    Par OobiloO dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/05/2008, 12h09
  5. [openldap] question sur les filtres
    Par dervish dans le forum Réseau
    Réponses: 0
    Dernier message: 31/10/2007, 11h24

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