Bruno Berteau wrote:
Bonjour,

Je cherche un outil comme sed mais pour les fichiers binaires. Je m'explique : J'ai des fichiers faits avec un obscure traitement de texte d'une autre époque, dont j'aimerai récupérer le texte. En les regardant dans un éditeur hexadécimal j'ai vu qu'il suffisait de quelques substitutions d'octets dans le fichier binaire pour en faire un fichier texte pur (par ex. les espaces sont codés en hexadécimal 87 au lieu de 20). On peut faire des rechercher/remplacer avec un éditeur hexadécimal mais ça serait fastidieux car il y a une vingtaine de fichiers à traiter et dans chacun d'eux il faut recoder les espaces, les lettres accentués, et les ç. Voilà pourquoi je voudrais automatiser le processus un peu à la sed -e "s/windows/linux/" -e "s/propriétaire/libre/" monfichier > nouveaufichier mais sur des octets ou des séquences d'octets.

;)

Merci de vos lumières.

tr est fait pour cela  ( == TRansliteration):

tr 'liste-de-cibles' 'liste-de-substitution' < input > output
tr 'a-z' 'A-Z' < file > outfile : met tout en majuscules...

pour cibler des 'non-printables' tu peux par ex utiliser la notation octale, ex: \015
  (octal pour <Carriage Return> =13 en decimal)

tr '\015\013' 'CN' < file > outfile


va substituer tous les <carriage return> par des 'C' et tous les <Line feed> par des ' L'

voir : man tr  ;-)
Bon amusement,

Alain

begin:vcard
fn:Dr Alain EMPAIN
n:EMPAIN;Dr Alain
org:Fac. Veterinary Med., Univ. of LIEGE;Molecular Genetics
adr:Sart-Tilman;;B43;LIEGE;;B-4000;Belgium
email;internet:[EMAIL PROTECTED]
tel;work:+32 4 366 4497
tel;home:+32 85 51.23.41
tel;cell:+32 497 70.17.64
x-mozilla-html:FALSE
version:2.1
end:vcard

_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://lists.unixtech.be/cgi-bin/mailman/listinfo/linux
Archives: http://www.mail-archive.com/linux@lists.unixtech.be
IRC: chat.unixtech.be:6667 - #unixtech
NNTP: news.gname.org - gmane.org.user-groups.linux.unixtech

Répondre à