次のレコードを含むバイナリ ファイルを表示しようとしています:
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
署名なしint)。
代わりに以下を使用できますperl
:
perl -ne 'BEGIN{$/ = \24} # 24 byte input records
printf "%015u %6u %6u %6u %6u\n", unpack "QL4"' < binfile
(QL4
1 つの符号なし 4 進数(64 ビット)とそれに続く 4 つの符号なし long(32 ビット))