Shell- Modifier une ligne dans un fichier.

OuSuisJe? -  
synopsis8 Messages postés 1478 Statut Membre -
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.

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
    1. dna.factory Messages postés 19915 Date d'inscription   Statut Modérateur Dernière intervention   1 621
       
      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
    2. OuSuisJe?
       
      Merci, je testerais se soir
      0
    3. OuSuisJe?
       
      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
    4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Il suffit d'enlever l'esperluette (&) ;-))

      sed 's/ligne 154/Position/'
      0
  2. dna.factory Messages postés 19915 Date d'inscription   Statut Modérateur Dernière intervention   1 621
     
    un simple sed ?
    (enfin simple et sed dans la même phrase, je vais me faire huer :p)
    0