web-dev-qa-db-ja.com

16進ダンプコマンドリバース

hexdumpコマンドは、任意のファイルを16進値に変換します。しかし、16進値があり、プロセスを逆にしたい場合はどうなりますか?

5
Maysara Alhindi

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
7
Bert

hexdumpで生成された16進ダンプしかない場合は、次のコマンドを使用できます

sed -E 's/ /: /;s/ (..)(..)/ \2\1/g' dump | xxd -r

sed部分は、少なくともxxd -rが機能する限り、hexdumpの形式をxxdの形式に変換します。

3
Socowi