#1 Le 05/04/2011, à 10:19
- auguste57
[Résolu] Remplacer valeur dans une ligne
Bonjour,
J'ai un fichier (users.txt) qui se présente sous cette forme :
Mxxx XXXXXXXXXXXXXXXXXXX XXXXX XXXXXX
Mr Utilisateur1 ADM ABCDE
Mme Utilisateur2 COM AB
Mlle Utlilisateur3 ADM AB DE
Mr Utilisateur4 ADM A E
......
Je souhaiterais modifier la quatrième colonne selon un utilisateur (sans passer par des fichiers temporaires si possible).
echo "Utilisateur :"
read user
echo ""
echo "Modification. À donner sous la forme :"
echo "XXXXXX"
read lecteur
dir=/home/zeus/users.txt
while read line
do
lecteur_u=$(awk '{print $4}')
utilisateur=$(awk '{print $2}')
if [[ "$utilisateur" = "$user" ]]
then sed -i "s/$lecteur_u/$lecteur/" /home/zeus/users.txt
fi
done < "$dir"
Mais ceci ne marche pas ! Merci de votre aide.
Dernière modification par auguste57 (Le 05/04/2011, à 12:52)
Hors ligne
#2 Le 05/04/2011, à 10:49
- FRUiT
Re : [Résolu] Remplacer valeur dans une ligne
read -p "Utilisateur lecteur ? " utilisateur lecteur
lecteur_u=$(awk '/'"$utilisateur"'/ { print $NF }')
sed -i '/'"$utilisateur"'/s@'"$lecteur_u"'@'"$lecteur"'@' /home/zeus/users.txt
Dernière modification par FRUiT (Le 05/04/2011, à 11:48)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#3 Le 05/04/2011, à 12:51
- auguste57
Re : [Résolu] Remplacer valeur dans une ligne
Je ne sais pas pourquoi mais je complique toujours la chose... La méthode de création de script c'est pas encore mon truc
Merci beaucoup FRUiT... c'est impeccable !
Hors ligne
#4 Le 05/04/2011, à 13:52
- FRUiT
Re : [Résolu] Remplacer valeur dans une ligne
De rian ^^
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne