en fait pour faire ça proprement il faut ecrire un script avec des fonctions comme :
#calcul nombre de jours
sera appelée par calculnbjrs()
#agmentation de X %
#genere la variable salairnoveau
sera appelé par agmente(X)
ce qui donne un if du style
1 2 3 4
|
for Nom in `awk '{print $2}' Salaire.dat`
do
calculnombredejours($Nom) |
# faire le test du nombre de jour du plus petit cas au plus grand cas
# pour ne pas avoir à verifier que le pourcentage à déjà été calculé ou non
# pour simplifier l'exemple seul le dernier taux est ecrit ici :
1 2 3
| if [ $nombredejours -gt 1096 ]; then
pourcentage=5
fi |
#selection du salaire actuel doit absoluement etre fait avant ou dans
# augmente() dans cet exemple je le fais avant
# mais une méthode propre consisterai à le faire dedans !!!
salaire=`grep -i $Nom | awk '{print $4}'`
#calcul de salairnouveau
#modification live dans le fichier
#en utilisant le meilleur editeur disponnible sur le marché :
1 2
| vi -c "g/$Nom/$salaire/$salairnouveau/|:wq" Salaire.dat
done |
attention cette methode là j'édite en live le fichier Salaire.dat sans faire de deuxième fichier !!!!!
N'oublies pas pour calculnombredejour de generer la date actuelle dans le meme format que la date dans le fichier Salaire.dat pour pouvoir calculer le nombre de jour par simple soustraction !
résume :
1 2 3 4 5 6 7
| for Nom in `awk '{print $2}' Salaire.dat`
do
calculnombredejours($Nom)
if [ $nombredejours -gt 1096 ]; then
pourcentage=5
fi
salaire=`grep -i $Nom | awk '{print $4}'` |
augmente($pourcentage)
vi -c "g/$Nom/$salaire/$salairnouveau/|:wq" Salaire.dat
done[/code]
Partager