[Shell] Question à 3 francs 6 sous...(Grep)

Résolu/Fermé
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 25 mars 2008 à 11:18
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 25 mars 2008 à 12:00
Bonjour,

Je suis en train de m'arracher les cheveux pour un problème d'une complexité équivalente à construire le jouet d'un Kinder surprise...

J'ai un fichier texte contenant :

#tmp_routeur.log
Login: ^M
Password: ^M

Login: ^M
Password: ^M

Login: ^M
Password: ^M
send: spawn id exp4 not open


J'aimerai isoler l'erreur si et UNIQUEMENT si plus de un "Password:" est présent...

Donc :
auth=`cat $temp | grep "Password: " | uniq -c | sed 's/Password: //' | sed 's/ *//'`
if [ "$auth" -gt "1" ]
                then
                        echo "Problème d'authentification sur $routeur !"
                        echo "$routeur : wrong log-in/password" >> $erreur
                        continue
fi


Bien entendu, cela ne marche pas...alors je fais des essais :

.../scripts> echo $auth
3


.../scripts> if $auth -gt 1;then echo "oui"; else echo "non"; fi
-bash: 3: command not found
non



.../scripts> if "$auth" -gt "1";then echo "oui"; else echo "non"; fi
: command not found
non


pareil pour if "$auth" -gt 1, if $auth -gt "1"...


Si quelqu'un a compris l'évidence même du problème, ça serait bien, pour un pauvre programmeur comme moi :(

Merci beaucoup !
A voir également:

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
25 mars 2008 à 11:47
Salut,

Dans un 1er temps essaie plutôt :
auth=$(cat $temp | grep -c "Password: ")
if [ "$auth" -gt "1" ]...
;-))

0
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 120
25 mars 2008 à 12:00
rah, j'ai honte...

Problème résolu :P
0