Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/04/2011, à 11: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 hmm ! Merci de votre aide.

Dernière modification par auguste57 (Le 05/04/2011, à 13:52)

Hors ligne

#2 Le 05/04/2011, à 11: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, à 12: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, à 13: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 hmm

Merci beaucoup FRUiT... c'est impeccable !

Hors ligne

#4 Le 05/04/2011, à 14: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