使用 hexdump 时出现错误字节计数

使用 hexdump 时出现错误字节计数

我正在尝试显示一个二进制文件,其中的记录包括:

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.

而且似乎没有任何支持八字节的整数类型(您还需要%u,而%d不是未签名整数)。

你可以perl在这里使用:

perl -ne 'BEGIN{$/ = \24} # 24 byte input records
          printf "%015u %6u %6u %6u %6u\n", unpack "QL4"' < binfile

QL41 个无符号四边形(64 位)后跟 4 个无符号长整型(32 位))

相关内容