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

Linux Discussion :

Script shell 2 test grep dans un if


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Par défaut Script shell 2 test grep dans un if
    Bonjour,

    pour mon projet je voudrais savoir si cela est possible de faire 2 grep dans un e condition de if,

    voila ce que j ai mis

    if [ grep -c "^$2" machine` == 0 && `grep -c "^$3" compte` == 0 ]

    machine et compte sont 2 fichiers, et je voudrais tester les valeur de $2 et $3

    j ai maté le tuto et j ai trouvé la commande test mais j ai essayer et j arrive pas a le faire marcher.

    quelqu'un peut m'aider?

    en vous remerciant

  2. #2
    Membre chevronné Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Par défaut
    Hello.

    La synthaxe pour faire un if avec un && est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if [ condition1 ] && [ condition2 ]
       then
         do_something
    fi

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if ! grep -q "^$2" machine && ! grep -q "$3" compte
    then
        echo bla
    fi
    il est plus efficace de tester le code de retour de grep plutôt que comparer le nombre de lignes trouvées à zéro

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 68
    Par défaut
    Bonjour,

    Je me permet de relancer ce post car je galère sur le test de 2 greps :
    un grep de "coucou" dans fic1 et un grep de "bonjour" dans fic2.

    si mes 2 greps me retournent 0 alors c'est bon sinon c'est KO.

    Faut il impérativement passer par un :

    grep coucou fic1 >/dev/null
    ret1=$?

    grep bonjour fic2 >/dev/null
    ret2=$?

    if [ $ret1 = 1 -o $ret2 = 0 ]
    then
    echo OK
    else
    echo KO
    fi


    ou bien je peux tester les deux grep directment dans les [ ] ?

    merci

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if grep -q coucou fic1 && grep -q bonjour fic2 
    then
      echo ok
    fi
    note certains OS utilisent grep -s au lieu de grep -q...

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/06/2012, 21h40
  2. qsub en script shell : FOUND=$(qstat | grep -c "$JOB_ID") erreur
    Par ben.IT dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 24/02/2011, 09h09
  3. Programme en C dans un script shell
    Par am.adnane dans le forum Linux
    Réponses: 1
    Dernier message: 05/02/2006, 17h57
  4. Syntaxe dans un script shell
    Par cubepiege dans le forum Linux
    Réponses: 5
    Dernier message: 27/09/2005, 16h21
  5. Script shell - écriture dans un fichier
    Par Leishmaniose dans le forum Linux
    Réponses: 6
    Dernier message: 13/12/2004, 22h48

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