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

Résolu
lml-mike Messages postés 455 Date d'inscription   Statut Contributeur Dernière intervention   -  
lml-mike Messages postés 455 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Modérateur Dernière intervention   4 896
 
Salut,

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

0
lml-mike Messages postés 455 Date d'inscription   Statut Contributeur Dernière intervention   121
 
rah, j'ai honte...

Problème résolu :P
0