创建一个名为 as 的文件,test
其中包含以下内容:
0123456789abcdef0123456789abcdef
我想0
使用 xxd 删除第一个。打开它,vim -b test
然后:%!xxd
在 vim 中运行。结果是:
0000000: 3031 3233 3435 3637 3839 6162 6364 6566 0123456789abcdef
0000010: 3031 3233 3435 3637 3839 6162 6364 6566 0123456789abcdef
0000020: 0a .
然后我删除第一个的十六进制30
代码0
:
0000000: 31 3233 3435 3637 3839 6162 6364 6566 0123456789abcdef
0000010: 3031 3233 3435 3637 3839 6162 6364 6566 0123456789abcdef
0000020: 0a .
然后我:%!xxd -r
跑回去读十六进制。结果是:
^@23456789abcdef^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
结果是乱码。我知道原因是上面的内容不是有效的 xxd 输入。如果我删除行号和文本部分:
31 3233 3435 3637 3839 6162 6364 6566
3031 3233 3435 3637 3839 6162 6364 6566
0a
我:%!xxd -r -p
跑回去读十六进制。结果是正确的:
123456789abcdef0123456789abcdef
使用 vim 和 xxd 有没有更好的方法来完成这项工作?更好的方法意味着更少的编辑来为xxd -r
.