Remplace un terme avec sed

Résolu
Yvance77 Messages postés 290 Date d'inscription   Statut Membre Dernière intervention   -  
Yvance77 Messages postés 290 Date d'inscription   Statut Membre Dernière intervention   -
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

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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
Yvance77 Messages postés 290 Date d'inscription   Statut Membre Dernière intervention   21
 
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
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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
Yvance77 Messages postés 290 Date d'inscription   Statut Membre Dernière intervention   21
 
Re

Merci à toi. Que veut dire le .BAK stp ?
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
C'est marqué en toutes lettres dans le man : makes backup if SUFFIX supplied
Ça crée un fichier de sauvegarde original.BAK.
0
Yvance77 Messages postés 290 Date d'inscription   Statut Membre Dernière intervention   21
 
Merci pour tes éclaircissements

Cordialement
0