hexdumpコマンドは、任意のファイルを16進値に変換します。しかし、16進値があり、プロセスを逆にしたい場合はどうなりますか?
xxd
と呼ばれる同様のツールがあります。ファイル名だけでxxd
を実行すると、かなり標準的な16進ダンプ形式でデータがダンプされます。
# xxd bdata
0000000: 0001 0203 0405
......
ここで、出力をxxd
にパイプで戻すと-r
オプションを選択し、それを新しいファイルにリダイレクトすると、16進ダンプをバイナリに戻すことができます。
# xxd bdata | xxd -r >bdata2
# cmp bdata bdata2
# xxd bdata2
0000000: 0001 0203 0405
hexdump
で生成された16進ダンプしかない場合は、次のコマンドを使用できます
sed -E 's/ /: /;s/ (..)(..)/ \2\1/g' dump | xxd -r
sed
部分は、少なくともxxd -r
が機能する限り、hexdump
の形式をxxd
の形式に変換します。