使用vi编辑binary文件

原理:使用xxd将当前文件转成hex格式,编辑,然后再转回去

 /usr/bin/xxd

 xxd - make a hexdump or do the reverse

例子:

用binary模式启动vi

vi -b test.txt

使用vi编辑binary文件_第1张图片

将所有内容转成hex

:%!xxd

使用vi编辑binary文件_第2张图片

 

修改你想改的地方;

然后将所有内容转成binary

:%!xxd -r

使用vi编辑binary文件_第3张图片


那么:%!xxd是什么意思呢?

:表示进入vi的命令mode;

%表示当前文件的所有内容,和1,$一样

!表示要执行Linux命令,它后面跟的是需要执行的Linux命令


所以::%!xxd 和:1,$ !xxd的效果一样;

如果想改变xxd的输出groupsize,可以使用-g。

例如::%!xxd -g 1的输出效果如下。


使用vi编辑binary文件_第4张图片

Note:其实%,$等符合是从ex editor来的。具体可参见Learning the vi and Vim Editors.pdf一书。

http://vim.wikia.com/wiki/Hex_dump

 

你可能感兴趣的:(binary)