[shell] insertion avec sed et conservation \

Résolu
Lya -  
 Lya -
Bonjour,

J'essaie d'insérer dans une ligne dans un fichier.
J'utilise pour cela la commande : sed "${i}i$(echo $ligne2)"
où i est la variable où je stocke le numéro de la ligne (où insérer)
et ligne2 la variable où je stocke le contenu à insérer.

Lorsque je fais : echo $ligne2 j'ai bien le bon contenu qui s'affiche sur la sortie standard.
Mais lorsque je vérifie l'insertion dans le fichier j'ai des caractères bizarres qui s'affichent et tous les \ ont disparu de ma ligne.

Est-ce que quelqu'un saurait m'aider ?

Merci

EDIT: j'ai tenté en doublant les \ dans ligne2 mais ça ne fonctionne pas

EDIT2: version de sed: je sais pas mais le -i ne fonctionne pas
je suis en shell bash
variable i contient 112 et ma ligne2 {\pard \qr \pvpg\phpg\posx10016\posy5042\absw614 \absh-223 {\f1\fs16 \cf1 \b 6}\par}
A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Merci de nous afficher le fichier référence ainsi que le contenu des 2 variables, s'il ta plaît, merci ;-))

Quelle distrib ? Quel shell ? Quelle version de "sed" ?
0
Lya
 
En fait il me remplace dans la ligne
a par  (BEL sur fond noir)
f par (FF sur fond noir)
cf par  (ACK sur fond noir)
0
Lya
 
J'ai trouvé, il faut doubler les \ sauf ceux précédent a, f et cf qu'il faut laisser simple.
0