Page 1 sur 1

[Script] Besoin d'aide pour grep et test

Publié : mar. 11 déc. 2018, 15:18
par booga
Bonjour,

J'ai besoin de tester la présence de 2 mots dans un fichier.
S'il s’avère que ces 2 mots sont présents alors le script doit retourner un message ainsi qu'un exit code.
$1 : 1er mot
$2 : 2e mot
$3 : chemin du fichier

Code : Tout sélectionner

grep -qiE '"$1"|"$2"' "$3"

if [ $? == 0 ]

then
        echo "Erreur dans le fichier de log"
        exit 2
else
        echo "Pas d'erreur dans le fichier de log"
        exit 0
fi
Le problème est que j'ai constamment le message m'indiquant qu'il n' y a pas d'erreur même avec des paramètres fantaisistes (ou pas) :

Code : Tout sélectionner

./grep gfjhgfjhfh hjhlklkhjkjhkj /var/log/a.txt
Pas d'erreur dans le fichier de log

La valeur retournée par grep quand il y a une correspondance est bien 0 ?

Re: [Script] Besoin d'aide pour grep et test

Publié : mar. 11 déc. 2018, 16:00
par FoolEcho
Salut,

Ce sont les apostrophes qui te mettent dedans. Egrep ne va pas interpréter les valeurs de tes paramètres $1 et S2. Donc plutôt:

Code : Tout sélectionner

grep -qiE "($1|$2)" "$3"

Re: [Script] Besoin d'aide pour grep et test

Publié : mar. 11 déc. 2018, 16:23
par booga
Tu as vu juste.
Merci beaucoup pour ton aide.