Re: [Résolu] Re: vim / sed : subsitution de codes hexa

2022-05-13 Par sujet Bernard Schoenacker



- Mail original -
> De: "Alain Vaugham" 
> À: debian-user-french@lists.debian.org
> Envoyé: Vendredi 13 Mai 2022 14:00:03
> Objet: [Résolu] Re: vim / sed : subsitution de codes hexa
> 
> Le Thu, 12 May 2022 22:38:16 +,
> Hugues Larrive  a écrit :
> 
> 
> Il est produit lors de l'export émis par un logiciel de comptabilité.
> Pareil pour 0x85, 0x8a, 0x88...
> 
> [...]
> 
> 
> Merci beaucoup pour ce bout de code en c.
> J'ai essayé de l'utiliser mais sans succès. Non pas à cause du code,
> mais parce que je n'ai pas su installer/paramétrer les outils pour la
> compilation.
> Vu le temps que ça prend pour moi de me mettre à un nouveau langage,
> j'ai continué à chercher une alternative en Bash. J'en ai trouvée
> une.
> Je garde précieusement ce code en référence pour le jour où je serai
> obligé de me mettre au c.
> 
> La solution que j'ai trouvée a été d'utiliser vim dans mon script:
> vim -c "%s/\%x82/é/g|wq" mon_fichier
> 
> Encore merci pour la tentative de réponse.
> 

Bonjour Alain,

J'ai pris le temps de faire quelques recherches et j'ai vu 
qu'avec Sed il était possible de le faire...

Documentation de base :
https://superuser.com/questions/517847/use-sed-to-replace-nbsp-160-hex-00a0-octal-240-non-breaking-space
https://www.cyberciti.biz/faq/unix-linux-sed-ascii-control-codes-nonprintable/

application :

sed -i 's/'$(echo "\082")'/é/g'  mon_fichier

Au fait que donne la commande file  ?

Ensuite, en recherchant plus encore, j'ai vu qu'il existait une solution qui 
permet à grep d'effectuer une recherche sur les caractères binaires :

https://github.com/tmbinc/bgrep

Merci pour votre aimable attention

Bien à vous

Bernard



[Résolu] Re: vim / sed : subsitution de codes hexa

2022-05-13 Par sujet Alain Vaugham
Le Thu, 12 May 2022 22:38:16 +,
Hugues Larrive  a écrit :

> Je me suis créé un petit fichier test avec 0x82 à la place d'un é
> pour tester. (Je me demande d'où sort ce 0x82...)

Il est produit lors de l'export émis par un logiciel de comptabilité.
Pareil pour 0x85, 0x8a, 0x88...

[...]

> L'utiliser à la place de sed :
> cat ma_source | ./0x82to0xc3a9 > ma_cible
> 
> Voilà qui devrait faire le travail aussi bien qu'un éditeur hexa.

Merci beaucoup pour ce bout de code en c.
J'ai essayé de l'utiliser mais sans succès. Non pas à cause du code,
mais parce que je n'ai pas su installer/paramétrer les outils pour la
compilation.
Vu le temps que ça prend pour moi de me mettre à un nouveau langage,
j'ai continué à chercher une alternative en Bash. J'en ai trouvée une.
Je garde précieusement ce code en référence pour le jour où je serai
obligé de me mettre au c.

La solution que j'ai trouvée a été d'utiliser vim dans mon script:
vim -c "%s/\%x82/é/g|wq" mon_fichier

Encore merci pour la tentative de réponse.


-- 
Alain Vaugham
Clef GPG : 0xDB77E054673ECFD2


pgpWAk1mTB97N.pgp
Description: Signature digitale OpenPGP