我正在嘗試顯示一個二進位文件,其中的記錄包括:
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
(QL4
1 個無符號四邊形(64 位元)後面跟著 4 個無符號長整型(32 位元))