On Fri, Oct 05, 2007 at 12:38:21AM +0200, Lloyd Dizon wrote: > > Il devrait y avoir malentendu. Par BATCH, je voulais dire en groupe. Ok, comprend mieux...
> ... > sed 's/tata/TOTO/' < texte.txt > texte.txt # pas possible ! Si! $ sed 's/tata/TOTO/' -i texte.txt ou $ sed 's/tata/TOTO/' --in-place texte.txt > Il faut faire: > sed 's/tata/TOTO/' < texte.txt > texte.tmp > mv texte.tmp texte.txt Pour éviter cela, il m'est arrivé de faire: $ sed 's/tata/TOTO/' < texte.txt | diff -u texte.txt - | patch p0 Je l'ai fait avec des gros fichiers... pas très élégant mais fonctionnel. M'enfin cela ne résoud pas le problème ``binaire''. > ... > Bref, je voulais faire une substitution du code binaire dans un > fichier par une autre "chaine binaire", en utilisant un ed version > binaire (s'il un tel programme existait). Selon la nature de ta modif, (si la taille du binaire change ou non, si les remplacement sont légers, si les chaines contiennent de l'ascii ou des caractères de control, etc) p. ex, si ta modif est purement ascii et que tu ne change pas la taille de ton fichier, vi peut le faire: $ ls -l test.jpg -rw-r--r-- 1 felix felix 363907 2007-10-05 09:38 test.jpg $ jpegtopnm <test.jpg | pnmfile && echo OK. jpegtopnm: WRITING PPM FILE stdin: PPM raw, 1280 by 960 maxval 255 OK. $ rdjpgcom test.jpg CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality $ sed -i test.jpg -e \ s'/gd-jpeg v1.0 (using IJG JPEG v62)/Myself with my head and my hands /' $ ls test.jpg -rw-r--r-- 1 felix felix 363907 2007-10-05 09:56 test.jpg $ jpegtopnm <test.jpg | pnmfile && echo OK. jpegtopnm: WRITING PPM FILE stdin: PPM raw, 1280 by 960 maxval 255 OK. $ rdjpgcom test.jpg CREATOR: Myself with my head and my hands , default quality Ça marche, mais il s'agit d'un cas particulier... Par ailleur, j'ai égallement déjà utilisé VI pour des petites modifications sur des fichiers binaires avec de bons résultats, mais je ne l'ai jamais fait en ``batch mode''. > Donc: > ed = line editor > sed = stream editor > bed (binary ed) = block editor ?? et aussi: $ apt-cache search editor | grep -i 'binary\|hex' bbe - sed-like editor for binary files beav - binary editor and viewer biew - console hex viewer/editor with disassembler bvi - binary file editor ghex - GNOME Hex editor for files hexcurse - A ncurses-based hex editor with many features hexer - An interactive binary editor with a Vi-like interface khexedit - KDE hex editor le - Text Editor with block and binary operations libgtkhex0 - GNOME Hex editor for files (shared library) libgtkhex0-dev - GNOME Hex editor for files (development headers) ncurses-hexedit - Edit files/disks in hex, ASCII and EBCDIC vche - Virtual Console Hex Editor xemacs21-gnome-mule - highly customizable text editor -- Mule binary Tiens, peut-être que bbe: Description: sed-like editor for binary files Editor like sed, but for binary files. bbe performs basic byte operations on blocks of input stream. bbe is a command line tool developed for Unix systems. . Homepage: http://members.surfeu.fi/tjsa/bbe/ > ... > J'espère maintenant que tu as compris ma question, Oui, un poil mieux. > je poste le code en Perl sinon (aïe). Volontier! (A mon adresse perso, si tu préfères;) -- Félix Hauri - <[EMAIL PROTECTED]> - http://www.f-hauri.ch _______________________________________________ gull mailing list [email protected] http://lists.alphanet.ch/mailman/listinfo/gull
