Files
使用 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 - 如果相關 -
根據手冊頁,
%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 位))