Newsgroup: it.comp.os.linux.software
Titolo: sed su file binari

Ciao All,
Da quanto ho letto sed e' pensato per modificare stream che non siano binari.
Io devo modificare, in un file binario - per la precisione l'output di
ghostscript - la stringa "^[*o1M" in "^[*o-1M" ... mi suggerite come posso
fare? (tra l'altro e' un modo molto rozzo per far stampare i file ps in modo
draft su una hp 690C - ma funziona). Tra le altre cose.. ma la stringa ^[ non
si scrive \^\[ ? Perche' a me sed, giusto per provare, non mi si e' filato
Ciao,
FC - 
fc...@softhome.net
FidoWEB -> 
http://bbs.romacivica.net/fido

 
Non ho presente il programma che cerchi.
Pero', con "vi" tu puoi passare un comando da eseguire non appena 
apri il file.
Non e' che puoi passare ad hexedit (o simili) un comando del tipo:
cambia e esci?
Diventa piu' pesante, ma potrebbe funzionare.
ciao, andrea

Ciao 
ce...@iac.rm.cnr.it
,
Venerdi` 28 Gennaio 2000 alle 10:16, 
ce...@iac.rm.cnr.it
 scrisse a All riguardo
< Re: sed su file binari >:
[cambiare stringa su file binario]
 c> Pero', con "vi" tu puoi passare un comando da eseguire non appena
 c> apri il file.
Si ma mi serve qualcosa di automatico
 c> Non e' che puoi passare ad hexedit (o simili) un comando del tipo:
 c> cambia e esci?
Uhm.. come idea potrebbe anche andare, pero' considera che io posso sostituire
una stringa esistente con una piu' lunga.. e questo mi pare hce in genere gli
editor esadecimali non lo permettano


si scrive \^\[ ? Perche' a me sed, giusto per provare, non mi si e' filato
^[ e` ESC, non devi scriverlo come i due caratteri.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *
      | (Ri)scoprire fidonet: 
http://bbs.mi.linux.it

mi suggerite come posso fare?
Insieme ai sorgenti di vim e`  incluso un utilissimo programmino di nome
xxd, che  potrebbe essere un  banalissimo dumper esadecimale,  non fosse
per  la  sua peculiare  caratteristica  di  compiere anche  l'operazione
inversa, ossia di  convertire da hex a binario. Detto  questo, direi che
puoi prendere il  file binario, piparlo dentro a xxd,  poi dentro a sed,
fare le modifiche, e ri-piparle dentro a xxd con il parametro -r, che si
occupa appunto di restituire il binario.
Il tutto in un'unica riga di comando. (-:
-- 
  _      ___ ____
 | | /| / (_)_  /
 | |/ |/ / / / /_	ANTI-SPAM WARNING:
 |__/|__/_/ /___/	the e-mail address is fake.
 
Pane e GNUtella, la merenda del pinguino brufoloso. (R. Poggi)

Ciao spa...@dev.null,
Domenica 30 Gennaio 2000 alle 12:33, 
luc...@phoenix.radiance.it
 scrisse a All
riguardo < Re: sed su file binari >:
[stampa draft]
 l> puoi prendere il  file binario, piparlo dentro a xxd,  poi dentro a sed,
 l> fare le modifiche, e ri-piparle dentro a xxd con il parametro -r, che si
 l> occupa appunto di restituire il binario.
Direi interessante, non sapevo nemmeno esistesse questo xxd. Comunque sed
sembra andare anche sui file binari, dovrei provare a dargliene uno con un null
in mezzo.
 l> Il tutto in un'unica riga di comando. (-:
Come sempre :-))
Ciao,
FC
FidoWEB -> 
http://bbs.romacivica.net/fido

            Copyright  Hewlett-Packard Co. 1993
Nel file Lj1710 poi si descrivono una serie di comandi PJL comuni come
quelli per  impostare l'orientamento, l'economode [on/off], la qualità
di stampa, le dimensioni della carta... sarebbe fantastico poterlo
fare in maniera "verbale" anche sulla mia povera deskjet!
Ho provato a fare una stampa su file (.prn) con MSWord ed ecco le
parti che ho trovato più significative:
 
0000250: 0000 0000 0000 0000 1b45 1b25 2d31 3233  .........E.%-123
0000260: 3435 5840 504a 4c20 454e 5445 5220 4c41  45X@PJL ENTER LA
0000270: 4e47 5541 4745 3d50 434c 534c 4545 4b0a  NGUAGE=PCLSLEEK.
0000280: 1b45 1b2a 6232 421b 2a6f 3557 040c 0000  .E.*b2B.*o5W....
0000290: 001b 2a6f 3144 1b26 6c31 481b 266c 3236  ..*o1D.&l1H.&l26
00002a0: 6130 4c1b 2a6f 3557 0103 0000 011b 266c  a0L.*o5W......&l
00002b0: 304d 1b26 6c30 6f30 451b 2a6f 2d31 4d1b  0M.&l0o0E.*o-1M.
00002c0: 2675 3330 3044 1b2a 7030 581b 2a70 3059  &u300D.*p0X.*p0Y
00002d0: 1b2a 6738 5702 0101 2c01 2c00 021b 2a72  .*g8W...,.,...*r
00002e0: 3234 3030 531b 2a72 3141 1b2a 6232 4d1b  2400S.*r1A.*b2M.
0000820: 0c1b 451b 252d 3132 3334 3558                    ..E.%-12345X
E adesso?
sarà possibile dare le impostazioni per la stampa in un linguaggio e
poi passargli di seguito il PostScript da stampare e infine la
sequenza UEL?