Commande sed

Résolu
Bonjour,

je vous ecrit car je souhaite realiser une commande, mais celle-ci ne fonctionne pas correctement.
je souhaite a partir d'un fichier du type:

essai.txt essai.txt

AAAAAAAAAAA AAAAAAAAAAA
BBBBBBBBBBBB BBBBBBBBBBBB
CCCCCCCCCCC KKKKKKKKKKKKKK
DDDDDDDDDDD DDDDDDDDDDD
EEEEEEEEEEEE EEEEEEEEEEEE

donc pour cela je fais la commande suivante:

sed "3 c\KKKKKKKKKKKKKKKK" essai.txt > essai.txt. Or celle-ci ne fonctionne pas. Pourquoi?

Merci de bien vouloir m' éclairer.
Configuration: Windows XP
Firefox 3.0.10

9 réponses

  1. Modérateur
    Enlève le".bak" de "-i.bak" :
    sed -i '3c\
    KKKKKKKKKKKK
    ' plop
    ;-))
    1. j'ai fait une erreur lors de la frappe et finalement cette commande marche mais comment faire pour eviter que le fichier .bak ne se creer.
      Merci.
      1. Modérateur
        A quel niveau ?
        Des messages d'erreurs ?

        Affiche la commande :
         sed --version
        1. pardon excusez moi car l affichage de mon premier post n est pas correcte. Je souhaite passer d' un fichier de ce type:

          AAAAAAAAAAA
          BBBBBBBBBBBB
          CCCCCCCCCCC
          DDDDDDDDDDD
          a un fichier de ce type:

          AAAAAAAAAAA
          BBBBBBBBBBBB
          KKKKKKKKKKK
          DDDDDDDDDD

          Désoler je n avait pas vu que mon premier post était erroné dans l affichage.
          1. Modérateur
            jp@MDK:~/tmpfs ssh$ cat plop
            AAAAAAAAAAA AAAAAAAAAAA
            BBBBBBBBBBBB BBBBBBBBBBBB
            CCCCCCCCCCC KKKKKKKKKKKKKK
            DDDDDDDDDDD DDDDDDDDDDD
            EEEEEEEEEEEE EEEEEEEEEEEE
            
            jp@MDK:~/tmpfs ssh$ sed -i.bak '3c\
            KKKKKKKKKKKK
            ' plop
            
            jp@MDK:~/tmpfs ssh$ cat plop
            AAAAAAAAAAA AAAAAAAAAAA
            BBBBBBBBBBBB BBBBBBBBBBBB
            KKKKKKKKKKKK
            DDDDDDDDDDD DDDDDDDDDDD
            EEEEEEEEEEEE EEEEEEEEEEEE
            
            jp@MDK:~/tmpfs ssh$
            ;-))
            1. je souhaite via cette commande remplacer la ligne 3 par l 'expression KKKKKKKKKK du fichier essai.txt et réecrire le résultat dans ce meme fichier.
              Merci.
              1. Modérateur
                Salut,

                Tu souhaites faire quoi exactement ? Tu as oublié de le préciser ;-(