editing a binary file

Anton Shterenlikht mexas at bristol.ac.uk
Sat Dec 19 20:47:40 UTC 2009


On Thu, Dec 17, 2009 at 08:45:02PM -0500, Greg Larkin wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Warren Block wrote:
> > On Fri, 18 Dec 2009, Anton Shterenlikht wrote:
> > 
> >> I'm creating binary files in fortran.
> >> Fortran adds 4 byte record delimiters at the beginning
> >> and the end of each record, which, in the case of a binary
> >> file, is just at the beginning and at the end of the file.
> >> I need to delete these record delimiters, because the
> >> software I use to visualise the binary files interprets
> >> them as data. But I don't know how. I've looked at
> >> hexdump and od, but those are only dumping (I think)
> >> file contents, and I cannot see how to edit a file with them.
> > 
> > truncate -4 myfile should get rid of the last four bytes.  Maybe there's
> > a similar efficient way to truncate the start of a file.
> > 
> > -Warren Block * Rapid City, South Dakota USA
> 
> This should do it:
> 
> dd if=oldfile of=newfile bs=1 skip=4

yes, this is very useful:

> hexdump -C fort.10
00000000  01 00 00 00 08 01 00 00  00                       |.........|
00000009

> truncate -s -4 fort.10

> hexdump -C fort.10
00000000  01 00 00 00 08                                    |.....|
00000005

> dd if=fort.10 of=zzz bs=1 skip=4
1+0 records in
1+0 records out
1 bytes transferred in 0.000094 secs (10645 bytes/sec)

> hexdump -C zzz
00000000  08                                                |.|
00000001
> 


many thanks
anton

-- 
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423


More information about the freebsd-questions mailing list