Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Substitutions dans un fichier de donnees

2 réponses
Avatar
geo cherchetout
Bonjour,
Je désire modifier des "data files" en remplaçant systématiquement une
certaine chaîne de caratères qu'ils contiennent (0x13 0x48) par une
autre (0x1B 0x36 0x4F) ou l'inverse.
Je sais le faire à la main avec un éditeur hexadécimal mais préfèrerais
naturellement utiliser une commande pouvant s'appliquer à toute une
série de fichiers.
Or sed accepte de faire des substitutions dans ces fichiers quand ces
substitutions portent sur des caractères ASCII, mais semble refuser
celles portant sur d'autres caratères. Est-ce moi qui ne sais pas le lui
demander (probable) ou un travail aussi simple en apparence lui est il
impossible ? J'ai trop honte pour vous montrer des exemples des
commandes que j'ai essayées.
Dois-je me tourner vers une autre commande disponible sous ma Mandrake ?
J'ai passé de longues heures à déchiffrer les manuels de sed, od,
hexdump, grep, awk mais plus je lis plus je suis perdu...
Merci de me mettre sur la voie.

2 réponses

Avatar
Stephane Chazelas
2004-10-01, 16:28(+02), geo cherchetout:
Bonjour,
Je désire modifier des "data files" en remplaçant systématiquement une
certaine chaîne de caratères qu'ils contiennent (0x13 0x48) par une
autre (0x1B 0x36 0x4F) ou l'inverse.
Je sais le faire à la main avec un éditeur hexadécimal mais préfèrerais
naturellement utiliser une commande pouvant s'appliquer à toute une
série de fichiers.
Or sed accepte de faire des substitutions dans ces fichiers quand ces
substitutions portent sur des caractères ASCII, mais semble refuser
celles portant sur d'autres caratères. Est-ce moi qui ne sais pas le lui
demander (probable) ou un travail aussi simple en apparence lui est il
impossible ? J'ai trop honte pour vous montrer des exemples des
commandes que j'ai essayées.
Dois-je me tourner vers une autre commande disponible sous ma Mandrake ?
J'ai passé de longues heures à déchiffrer les manuels de sed, od,
hexdump, grep, awk mais plus je lis plus je suis perdu...
Merci de me mettre sur la voie.


sed/awk/grep... sont des "text utilities", il ne sont censés
fonctionner qu'avec des fichiers text.

Tu peux utiliser perl:

perl -pi -e 's/x13x48/x1Bx36x4F/g' fichier1 fichier2...

--
Stephane

Avatar
geo cherchetout
Le 01.10.2004 16:41, *Stephane Chazelas* a écrit fort à propos :

Tu peux utiliser perl:

perl -pi -e 's/x13x48/x1Bx36x4F/g' fichier1 fichier2...


Impeccable !
Et en plus ça marche aussi avec sed :
sed 's/x1Bx36x4F/x13x48/g' fichier.VTX > fichier.vdt
Ma syntaxe n'était pas la bonne ("Ox1B" au lieu de "x1B").
Je vais enfin pouvoir échanger des captures de sessions minitel entre
xtel et Timtel.
Mille fois merci. :-))