SED déroutant ?
pc1008
Messages postés
5
Statut
Membre
-
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.
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
-
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) -
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 ?