editing a binary file

Warren Block wblock at wonkity.com
Fri Dec 18 16:33:55 UTC 2009


perryh at pluto.rain.com wrote:
> Greg Larkin <glarkin at 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


More information about the freebsd-questions mailing list