Remplace un terme avec sed

Résolu
Bonjour,

J'ai un fichier qui se nomme "toto". Je souhaiterais remplacer dans ce fichier de destination le terme bonjour par le terme bonsoir.

Comment si prendre svp car je m'y perds un peu.

Merci

<signature>
Linux Manjaro Mate 64 bits - C.M.Msi Z170M MORTAR - C.G Nvidia GK107GL [Quadro K420] Pro Intel 5 650 CPU à 4 coeurs 3.2 GHz - C.S. Terratec Aureon 7.1 USB - 12 Go ram Kingstom Fury - SSD 120 Go

4 réponses

  1. Contributeur
    Salut,

    La substitution basique (remplacer un mot par un autre), est la syntaxe la plus simple et la plus connue de SED.
    Celle qu'on trouve partout sur la toile.
    Qu'as-tu essayé jusqu'à présent ?
    Où ça coince ?

    0
    1. Bonjour Zipe31 ,

      Mon souci est que j'ai une commande par exemple celle-ci :

      sed "s/aptitude/pacman/p" /home/yvance/SYSTEME/fichier_de_destination

      Cela me change bien le terme mais uniquement dans le terminal, cela ne me change par les termes dans le fichier de destination.

      Merci
      0
      1. Contributeur
        Suffit de lire la page de man de sed (mais attention à cette option, il faut savoir ce que l'on fait, sinon bonjour les dégats) :

               -i[SUFFIX], --in-place[=SUFFIX]

        edit files in place (makes backup if SUFFIX supplied)


        En gros (le "p" ne sert à rien) :

        sed -i.BAK "s/aptitude/pacman/" /home/yvance/SYSTEME/fichier_de_destination
        0
    2. Re

      Merci à toi. Que veut dire le .BAK stp ?
      0
      1. Contributeur
        C'est marqué en toutes lettres dans le man : makes backup if SUFFIX supplied
        Ça crée un fichier de sauvegarde original.BAK.
        0
    3. Merci pour tes éclaircissements

      Cordialement
      0