drexlbob a écrit :
Bonjour a tous. Voila je suuis en ecole d'info et jai un script a faire.
Voila mon code : put_in_db()
{
ky=`cut -d" " -f2 sh.db | grep -w "$2"`
if [ $# -eq 3 ]
then
if [ "$1" = "put" ]
then
echo "$1 $2 $3" >> sh.db
elif [ "$2" = "$ky" -a "$1" = "put" ] #===========> apartir de la ca deconne la comparaison "$2" = "$ky" ne marche pas. Mais pourquoi donc???? je ne sais pas.
then
echo "je doi ecraser la valeur (arg3 du prog)" >> sh.db
fi
fi
}
Le prog pren en parametre: ./prog put key value
il ecrit donc put key value dans le fichier sh.db
ensuite si je fai :
./prog put key1 value1 et la kan je fait un cat de sh.db il maffiche bien :
put key value
put key1 value1
LE PROBLEME ARRIVE ICI:
si je retape ./put key value il doi ecraser la valeur de la clef
dans le fichier on aura donc:
put key
put key1 vallue1
Merci de me repondre!!!
|
Bon alors 2 choses
1) poster 2 fois la même question dans deux topics différents c'est franchement nul
2) faire aussi peu d'effort sur l'orthographe ne donne absolument pas envie de t'aider
Sinon la procédure sous unix pour modifier une valeur dans un fichier est généralement celle-ci
1) recopier tout ce qui est avant la valeur à modifier dans un second fichier
2) écrire la nouvelle valeur à la suite du second fichier
3) recopier tout ce qui est après la valeur à modifier dans le second fichier
4) renommer le second fichier à la place du premier
Toi, tout ce que tu fais, c'est de rajouter des lignes dans le fichier "sh.db" !!!
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.