vimでバイナリー編集

vimでバイナリー編集をする方法です。ちょこちょこと編集する場合には便利です。

環境

$ cat /etc/almalinux-release 
AlmaLinux release 9.5 (Teal Serval)
$ uname -r
5.14.0-503.19.1.el9_5.x86_64

バイナリー編集

vimでバイナリー編集するときは、「-b」オプションを付けます。

$ vim -b sample

ファイルが開いたときは、通常の表示ですので、「:%!xxd」と入力します。

0123456789
~
:%!xxd

すると、バイナリーにて表示されます。

00000000: 3031 3233 3435 3637 3839 0a              0123456789.
~

バイナリーの編集は、該当箇所を変更することで、可能です。右側のASCII表示は変更されません。
編集が完了すれば、「:%!xxd -r」を入力します。

00000000: 3131 3233 3435 3637 3839 0a              0123456789. ・・・ 「30」を「31」に変更する
~
:%!xxd -r

通常の表示にしてから保存をします。

1123456789 ・・・ 「0」から「1」に変更されている
~
:wq
タイトルとURLをコピーしました