[commande sed] substitution de caractères
Bonsoir,
voilà j'ai un petit problème sur un script que j'aimerais bien résoudre, mais apparemment la solution m'échappe...
Je cherche à substituer la chaîne de caractère particulière : \xe8\x5c\x31\xf9\xff par celle-là : \x90\x90\x90\x90\x90
mais mon fichier reste tel quel, malgré que je n'ai pas d'erreur...
Code:
1 2 3 4 5 6 7 8 9
|
#!/bin/sh
toto="\xe8\x5c\x31\xf9\xff"
dada="/home/tux/test.txt"
for x in $toto;do
echo $x
sed -i 's/$x/\x90\x90\x90\x90\x90/g' $dada
done |
le contenu de test.txt contient seulement la ligne : \xe8\x5c\x31\xf9\xff
le résultat de sed me renvoie :
Code:
1 2
| ./toto.sh
found \xe8\x5c\x31\xf9\xff |
si je fais un :
Code:
sed -e 's/$x/\x90\x90\x90\x90\x90/g' $dada
j'ai en retour :
Code:
1 2 3 4
|
$ ./toto.sh
found \xe8\x5c\x31\xf9\xff
\xe8\x5c\x31\xf9\xff |
donc le fichier reste inchangé. Une aide serait la bienvenue. Merci par avance.