Shell- Modifier une ligne dans un fichier.

Fermé
OuSuisJe? - 8 août 2011 à 11:35
synopsis8 Messages postés 1364 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 1 juin 2013 - 8 août 2011 à 15:53
Bonjour,

Je cherche depuis quelque heure a modifier une ligne d'un fichier grâce a un shell.
Se fichier se présente sous cette forme
ligne 1
ligne 2
...
ligne 154
...
ligne 194


Je voudrais donc modifier "ligne 154" par "Position" ("ligne 154" est toujours a la ligne 154 et il se nomme toujours "ligne 154")

Je suis donc bloquer.

Merci de bien vouloir m'aider.

A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 422
8 août 2011 à 12:14
Salut,

Ce n'est pas très clair ton histoire ;-\
Je n'ai pas compris s'il fallait remplacer le motif recherché (ou la ligne) ou le/la conserver et ajouter le mot "Position" ???

A défaut voila 2 solutions avec "sed", une avec un motif et l'autre avec un numéro de ligne :

$ cat plop 
ligne 1
ligne 2
...
ligne 154
...
ligne 194

$ sed 's/ligne 154/Position &/' plop 
ligne 1
ligne 2
...
Position ligne 154
...
ligne 194

$ sed '4 s/.*/Position &/' plop 
ligne 1
ligne 2
...
Position ligne 154
...
ligne 194

$ 
1
dna.factory Messages postés 25672 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 3 avril 2025 1 615
8 août 2011 à 12:44
je débute moi aussi en sed, et je comprends pas trop la deuxieme option...
je ne vois pas trop ou est-ce que tu récupères le numéro de la ligne...
a moins que ce soit le 4 qui corresponde au numéro de la ligne ?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 422
8 août 2011 à 13:00
0
Merci, je testerais se soir
0
Je recherchait un de ses 2 exemple, mais j'aurais plutôt voulu que le fichier a la fin ressemble a ceci:
ligne 1
ligne 2
...
Position
...
ligne 194 


Merci
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 422
8 août 2011 à 15:38
Il suffit d'enlever l'esperluette (&) ;-))

sed 's/ligne 154/Position/'
0
dna.factory Messages postés 25672 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 3 avril 2025 1 615
8 août 2011 à 11:58
un simple sed ?
(enfin simple et sed dans la même phrase, je vais me faire huer :p)
0