https://zhuanlan.zhihu.com/p/24883064
读取文件,二进制显示
$ xxd file1
00000000: 736f 6d65 2063 6f6e 7465 6e74 206f 6620 some content of
00000010: 6669 6c65 310a file1.
xxd 可以做反向 dump ,这就很“魔法”了(手册里作者原话)。
怎么 revert dump 呢?直接上代码
$ xxd file1 file1.dump
$ cat file1.dump
00000000: 736f 6d65 2063 6f6e 7465 6e74 206f 6620 some content of
00000010: 6669 6c65 310a file1.
$ vim file1.dump
# magic editing...
$ cat file1.dump
00000000: 736f 6d65 4d41 4749 4321 6e74 206f 6620 some content of
00000010: 6669 6c65 310a file1.
$ xxd -r file1.dump
someMAGIC!nt of file1
很简单吧?直接加 -r 参数就能做反向 dump 。所以一般步骤是先 xxd TARGET DUMP_FILE 导出,然后修改 DUMP_FILE ,最后 xxd -r DUMP_FILE NEW_FILE (没有NEW_FILE 的时候默认输出到标准输出)。[popexizhi: 这个确实好魔幻啊,赞一个]
PS:
简单说下 vim 集成:
- 先用二进制方式打开文件 vim FILE -b
- 在正常模式下输入魔法 :%!xxd
- 修改
- 退出到正常模式,继续魔法 :%!xxd -r
用 -b 选项(即二进制模式)打开文件很重要啊!!!
没有评论:
发表评论