From owner-freebsd-questions@FreeBSD.ORG Sat Dec 19 20:47:40 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D918B106566B; Sat, 19 Dec 2009 20:47:40 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from dirg.bris.ac.uk (dirg.bris.ac.uk [137.222.10.102]) by mx1.freebsd.org (Postfix) with ESMTP id 94CFF8FC16; Sat, 19 Dec 2009 20:47:40 +0000 (UTC) Received: from isis.bris.ac.uk ([137.222.10.63]) by dirg.bris.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1NM6DA-0002Fq-HF; Sat, 19 Dec 2009 20:47:39 +0000 Received: from mech-cluster241.men.bris.ac.uk ([137.222.187.241]) by isis.bris.ac.uk with esmtp (Exim 4.67) (envelope-from ) id 1NM6D9-000406-N7; Sat, 19 Dec 2009 20:47:36 +0000 Received: from mech-cluster241.men.bris.ac.uk (localhost [127.0.0.1]) by mech-cluster241.men.bris.ac.uk (8.14.3/8.14.3) with ESMTP id nBJKlZYL010037; Sat, 19 Dec 2009 20:47:35 GMT (envelope-from mexas@bristol.ac.uk) Received: (from mexas@localhost) by mech-cluster241.men.bris.ac.uk (8.14.3/8.14.3/Submit) id nBJKlZRZ010036; Sat, 19 Dec 2009 20:47:35 GMT (envelope-from mexas@bristol.ac.uk) X-Authentication-Warning: mech-cluster241.men.bris.ac.uk: mexas set sender to mexas@bristol.ac.uk using -f Date: Sat, 19 Dec 2009 20:47:35 +0000 From: Anton Shterenlikht To: Greg Larkin Message-ID: <20091219204735.GB9957@mech-cluster241.men.bris.ac.uk> References: <20091218005102.GA51064@mech-cluster241.men.bris.ac.uk> <4B2ADE9E.6080707@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B2ADE9E.6080707@FreeBSD.org> User-Agent: Mutt/1.5.20 (2009-06-14) X-Spam-Score: -1.5 X-Spam-Level: - Cc: Anton Shterenlikht , freebsd-questions@freebsd.org Subject: Re: editing a binary file X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Dec 2009 20:47:40 -0000 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