Comparaison chaîne de caractère
Bonjour,
je rencontre un problème qui me chifonne un peu :)
voila mon prog compare la date d'un fichier pour savoir si ce dernier date du même jour et du même mois que le système loçal
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| (ls -lt /var/opt/OV/Agent_Less/unix/logfile/hostname/*) > $tmpfile1
#met le mois courant du fichier dans $tmpfile5
cat $tmpfile1 | awk '{print $6}' > $tmpfile5
#met le mois courant du systeme dans $tmpfile2
date | awk '{print $2}' > $tmpfile2
# cat $tmpfile5 $tmpfile2
# oct
# oct
if [ "$tmpfile5" != "$tmpfile2" ]
then
echo "yes"
else
echo "sucks"
fi
exit 0 |
Mon problème se situe au niveau de la condition if, j'ai beau essayé plusieurs syntaxe la valeur de mes variables ne sont jamais remplacée, et le système me dit "/tmp/tmpfile5 != /tmp/tmpfile2" => VRAI
Evidemment les noms des variables ne sont pas identiques donc la condition prend toujours le même chemin.
J'ai testé:
Code:
1 2
| if [ $tmpfile5 != $tmpfile2 ]
if [ $tmpfile5 = $tmpfile2 ] |
La condition n'est jamais évaluée correctement, alors que si je fais un cat sur mes tmpfile ils sont tous les 2 remplis avec la valeur 'oct'
Toute aide sera la bienvenue, je n'aime pas que la machine gagne... :lol:
D'avance merci