Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Dec 2009 09:33:49 -0700 (MST)
From:      Warren Block <wblock@wonkity.com>
To:        perryh@pluto.rain.com
Cc:        glarkin@freebsd.org, mexas@bristol.ac.uk, freebsd-questions@freebsd.org
Subject:   Re: editing a binary file
Message-ID:  <alpine.BSF.2.00.0912180904180.11293@lightning.wonkity.com>

next in thread | raw e-mail | index | archive | help
perryh@pluto.rain.com wrote:
> Greg Larkin <glarkin@freebsd.org> wrote:
> > ...
> > > 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.
> >
> > This should do it:
> >
> > dd if=oldfile of=newfile bs=1 skip=4
> 
> Or, perhaps marginally more efficient:
> 
> dd if=oldfile of=newfile bs=4 skip=1

It would be nice to avoid the file copy, but maybe there's no way to do 
that.  The small buffer size for dd will probably make copies of 
multi-gig files slow.  This might be faster:

tail -c +5 myfile > outfile
truncate -4 outfile

(Has anyone mentioned that you can edit binary files interactively with 
vi yet?  No?  Well, it's horrific and surely has interesting failure 
modes.  And there are probably disadvantages also.)

-Warren Block * Rapid City, South Dakota USA



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0912180904180.11293>