SED déroutant ?

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. Modérateur
    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
    1. 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