AIX上でのバイナリファイルの編集方法

標準で付いてくるツールだけでどうやってバイナリファイルを編集するかという話。バイナリエディタを入れられない環境も珍しくないので。

# バイナリファイルをテキストに落とす
$ cat (バイナリファイル) | perl -e 'while(<STDIN>){print unpack("H*", $_);}' | fold -w 32
 > (ダンプするテキストファイル)

# テキストファイルを編集する
$ vi (ダンプしたテキストファイル)

# 編集したテキストファイルをバイナリに戻す
$ cat (ダンプしたテキストファイル) | perl -e 'while(<STDIN>){chomp; print pack("H*", $_);}'
 > (新しいバイナリファイル)

もっと良い方法があるに違いないけど、一応これでうまくいく。