一般來講文件分爲文本和二進制文件兩大類,文本文件的編輯很容易,Windows下的notepad、UltraEdit都很好用,二進制文件的編輯在Windows下也有不少工具,UltraEdit也不錯,可是Linux下呢?今天終於發現了一個好方法,可是最終出處找不到了。vim
首先建立一個二進制文件:oracle
[oracle@logserver tmp]$ echo -n "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz" > test.bin 工具
[oracle@logserver tmp]$ cat test.bin spa
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz[oracle@logserver tmp]$orm
注意echo 必定要跟上 -n 選項,不然會被自動加上一個換行行,再用vim打開 test.binserver
[oracle@logserver tmp]$ vim -b test.binblog
vim 的 -b 選項是告訴 vim 打開的是一個二進制文件,不指定的話,會在後面加上 0x0a ,即一個換行符。get
在命令模式下鍵入:it
:%!xxdtest
若是 vim 後面沒有加 -b 選項就會出現可惡的 0x0a:
若是有 -b 選項就不會有這種狀況:
而後進入編輯模式改,改就是了,我將A、B對應的4一、42改爲6一、62,將a、b對應的6一、62改爲4一、42。
回到命令模式輸入:
:%!xxd -r
此時能夠發現AB和ab的位置互換了。
最後在命令模式中輸入 :wq 保存退出便可。