Ajouter texte à la fin d'une ligne

Résolu/Fermé
simo - 18 févr. 2008 à 10:38
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 18 févr. 2008 à 13:06
Bonjour,
Je voudrai ajouter une chaine à la fin d'une ligne précise dans un fichier texte comme suit :
fichier avant modifications :
aa=ch1,ch2,ch3
bb=ch1,ch2,ch3
cc=ch1,ch2,ch3
dd==ch1,ch2,ch3

exemple :
je voudrais localiser par exemple la ligne "cc=ch1,ch2,ch3" et ajouter la chaine "ch4" à la fin.

cc=ch1,ch2,ch3,ch4

et enfin sauvegarder les modifications dans le fichier.

fichier aprés modifications :
aa=ch1,ch2,ch3
bb=ch1,ch2,ch3
cc=ch1,ch2,ch3,ch4
dd==ch1,ch2,ch3
A voir également:

6 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
18 févr. 2008 à 10:52
Salut,
[tmpfs]$ cat plop
aa=ch1,ch2,ch3
bb=ch1,ch2,ch3
cc=ch1,ch2,ch3
dd==ch1,ch2,ch3

[tmpfs]$ sed '/cc/ s/.*/&,ch4/' plop
aa=ch1,ch2,ch3
bb=ch1,ch2,ch3
cc=ch1,ch2,ch3,ch4
dd==ch1,ch2,ch3
[tmpfs]$ 
Si tu veux que ce soit permanent rajoute le switch "-i.BAK" à la commande "sed" :
sed -i.BAK '/cc/ s/.*/&,ch4/' plop
non seulement le fichier sera modifié mais une sauvegarde sera automatiquement générée.

;-))
3
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
18 févr. 2008 à 12:30
Re-

Pour les variables il faut utiliser des "double-quotes" autour de l'expression :
sed "/^$var1/ s/.*/&,$var2/" plop 
ou les intégrées dans l'expression en les excluants :
sed '/^'"$var1"'/ s/.*/&,'"$var2"'/' plop
;-))
1
Merci je vais l'essayer dans 5min :)
0
ça marche en mode ligne de commande, mais le problème c quand je veux lui passer des variables, ça ne marche plus!
var1=cc
var2=toto
sed '/^$var1/ s/.*/&,$var2/' plop

ça ne modifie pas le contenu?!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci bcp pr ton aide, ça marche :)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
18 févr. 2008 à 13:06
De rien ;-))
0