[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: vim / sed : subsitution de codes hexa




Le jeudi 12 mai 2022 à 22:11 +0200, Alain Vaugham a écrit :
> Bonjour la liste,
> 
> Il s'agit d'un export provenant d'un logiciel de comptabilité.
> Je l'ai encodé en utf8 et je veux substituer les caractères hexa:
> <82> par é
> 
> Sous vim les substitutions se font correctement
> :%s/\%x82/é/g
> 
> Vu la quantité de substitutions à faire je souhaite scripter
> l'opération avec sed:
> cat ma_source | sed 's/\x82/é/g' > ma_cible
> Malheureusement ça se passe mal car le résultat obtenu est
> �é
> soit:
> 0000000   C2 C3 A9
> 
> D'après ce que je comprends de la faq
> http://sed.sourceforge.net/grabbag/tutorials/sedfaq.txt
> dans sed v1.5 il y aurait une autre syntaxe pour borner la chaîne à
> substituer
> \<...\>
> cat ma_source | sed 's/\<x82\>/é/g' > ma_cible
> Là aussi ça ne se passe pas comme souhaité.
> Le sed de Buster que j'utilise est en v4.7
> 
> 
> Y aurait-il une autre syntaxe ou est-ce qu'une solution de
> contournement existerai sous bash?
> 
> Merci par avance

Bonsoir,

Je connais très peu les scripts bash et encore moins sed donc je dis
peut-être n'importe quoi, mais vu qu'il s'agit d'un caractère accentué,
je me demande dans quel mesure tu n'as pas une différence
d'environnement linguistique interactif/batch (par exemple examiner
$LANG dans ton script pour vérifier?)



Reply to: