以下を含むレコードを含むバイナリファイルを表示しようとしています。
8 bytes unsigned int
4 bytes unsigned int
4 bytes unsigned int
4 bytes unsigned int
4 bytes unsigned int
以下を使用して表示しようとしていますhexdump
。
hexdump -v -e '1/8 "%015d " 4/4 " %6d" "\n"' binfile
しかし、私は次のようになります。
hexdump: d: bad byte count
私はFreeBSD 12を使用しています - 関連している場合 -
答え1
~によるとマニュアルページ、
%d, %i, %o, %u, %X, %x Four byte default, one, two and four byte counts supported.
そして8バイト整数型のサポートはないようです(代わりに%u
、%d
署名されていない整数)。
ここで使用できますperl
:
perl -ne 'BEGIN{$/ = \24} # 24 byte input records
printf "%015u %6u %6u %6u %6u\n", unpack "QL4"' < binfile
(QL4
符号なしクワッド(64ビット)1個、符号なしロングクワッド(32ビット)4個)