viewとvi(vim)を利用したHEX dumpの表示と修正方法
1.概要
システムを運用していると想定していないデータが入力されてエラーが発生することがあります。テキスト形式のデータは目視確認することができるので、入力データはテキスト形式を多用します。しかし、テキストデータを目視しても見えない文字の影響でエラーとなる場合があります。改行コードがその例です。目視できない文字を確認するためにはHEX表示を利用します。viやviewを利用して、HEX dump表示や修正を実施できます。viでHEX修正を実施することは滅多にありませんが、viewで内容を読みたいときはあります。操作方法は同じなのでviewを利用して表示する方法を記述します。
2.詳細
試験用のテキストファイルを作成して、viewで表示後、HEX表示モードへ変更します。更に、HEX表示モードを解除して元の表示に戻します。
(1) テスト用のファイルを作成します
$ echo "0123456789" > test.txt
viewで参照します。
$ view test.txt
viewで参照します。
$ view test.txt
[表示内容]
0123456789
(2) HEXモードに変更します
ESC
:%!xxd
W10: 警告: 読込専用ファイルを変更します
とメッセージが表示され、HEX表示に変わります。
W10: 警告: 読込専用ファイルを変更します
とメッセージが表示され、HEX表示に変わります。
[表示内容]
00000000: 3031 3233 3435 3637 3839 0a 0123456789.
(3) HEXモードを解除します
ESC:%!xxd -r
表示が戻ります。
表示が戻ります。
[表示内容]
0123456789
3.所見
データの確認にはHEX表示のバイナリエディタが必要になる場合があります。特に読めない文字(^M等の改行コード)が影響して、処理が思わぬ結果となる場合には必須です。viewで利用するとデータを壊す心配もなく便利です。
私は、必ずviewでデータチェックを最初に実施します。変更が必要な場合に、vi(vim)を利用して修正をします。viewとvi(vim)の操作手順は同じなので失敗することもありません。
参考
[本ブログ内参照]・ubuntu/LinuxMintでcronを利用したshutdown処理
[外部サイト参照]
・viでバイナリ編集メモ
・viでバイナリ編集メモ
コメント
コメントを投稿