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

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    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
  2. 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