Skip site navigation (1)Skip section navigation (2)
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>