Shell lire et modifier une ligne précise

Résolu/Fermé
sony97one Messages postés 28 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 30 mars 2010 - 10 juin 2009 à 18:16
sony97one Messages postés 28 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 30 mars 2010 - 30 mars 2010 à 07:34
Bonjour à toutes et à tous,

Voici mon fichier par exemple :

1,0000 0,673 0,005
2,0000 0,790 0,009
3,0000 0,787 0,018
4,0000 0,787 0,010
5,0000 0,792 0,016

je souhaite modifier la valeur "0,787" par "toto" par exemple mais uniquement sur la ligne 4.
En faisant : sed -i "s/"0,787"/"toto"/g" test.txt
il modifie toutes les lignes.

Comment puis je restreindre a la ligne 4 svp?

Merci d'avance
Sony
A voir également:

19 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 895
10 juin 2009 à 18:39
Salut,
[tmpfs]$ cat plop
1,0000 0,673 0,005
2,0000 0,790 0,009
3,0000 0,787 0,018
4,0000 0,787 0,010
5,0000 0,792 0,016

[tmpfs]$ sed '4 s/0,787/toto/' plop
1,0000 0,673 0,005
2,0000 0,790 0,009
3,0000 0,787 0,018
4,0000 toto 0,010
5,0000 0,792 0,016

[tmpfs]$
;-))
1
sony97one Messages postés 28 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 30 mars 2010 2
10 juin 2009 à 18:48
Salut merci pour la reponse.

En faisant cela je vois les modifs dans la console mais le fichier ne se modifie pas. Est ce normal?

Sony
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 895 > sony97one Messages postés 28 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 30 mars 2010
10 juin 2009 à 18:56
Il suffit de remettre l'option "-i" ;-))
0