SED déroutant ?

pc1008 Messages postés 5 Statut Membre -  
pc1008 Messages postés 5 Statut Membre -
Bonjour,


Je souhaite supprimer toutes les séries de 2 caractères commençant par C2 (hexa) dans un fichier.

sed -e 's/\xc2.//g' < bd_es1.txt > bd_es2.txt ne fonctionne pas !

Alors que : sed -e 's/\xc2//g' ou sed -e 's/.//g' fonctionnent correctement (mais bien pas ce que je veux).

Je patauge ...

pc.

2 réponses

jisisv Messages postés 3678 Statut Modérateur 934
 
Effectivement !
ohand@osiris:~/tmp$ iconv -f latin1 -t utf8  brol.txt   
ÂBCD  
bbbbbÂBCD  
ÂBCÂBCDDÂBCD  
johand@osiris:~/tmp$ sed -e 's/\xC2.//g' < brol.txt   
CD  
bbbbbCD  
CCDDCD


Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
0
pc1008 Messages postés 5 Statut Membre
 
A te lire j'ai l'impression que cela fonctionne chez toi.

Cependant :



-> je ne comprends pas comment cela peut fonctionner chez toi car le caractère  a pour code hexa C3 et tu filtres les C2!

-> avec le même fichier cela ne fonctionne tj pas chez moi

$ cat es1.txt
ÂBCD
bbbbbÂBCD
ÂBCÂBCDDÂBCD

$ sed -e 's/\xc3.//g' < es1.txt
ÂBCD
bbbbbÂBCD
ÂBCÂBCDDÂBCD

Bizarre, bizarre ... ? Si qq a une autre solution pour répondre à mon problème je laisserai tomber SED mais ceci j'aimerais comprendre ce qui se passe ?
0