Date: Sat, 19 Dec 2009 20:47:35 +0000 From: Anton Shterenlikht <mexas@bristol.ac.uk> To: Greg Larkin <glarkin@freebsd.org> Cc: Anton Shterenlikht <mexas@bristol.ac.uk>, freebsd-questions@freebsd.org Subject: Re: editing a binary file Message-ID: <20091219204735.GB9957@mech-cluster241.men.bris.ac.uk> In-Reply-To: <4B2ADE9E.6080707@FreeBSD.org> References: <20091218005102.GA51064@mech-cluster241.men.bris.ac.uk> <alpine.BSF.2.00.0912171820130.53881@wonkity.com> <4B2ADE9E.6080707@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091219204735.GB9957>