Estou tentando exibir um arquivo binário com registros que consistem em:
8 bytes unsigned int
4 bytes unsigned int
4 bytes unsigned int
4 bytes unsigned int
4 bytes unsigned int
Tento exibi-lo usando hexdump
o seguinte:
hexdump -v -e '1/8 "%015d " 4/4 " %6d" "\n"' binfile
Mas eu entendo:
hexdump: d: bad byte count
Estou usando o FreeBSD 12 -se relevante-
Responder1
De acordo compágina de manual,
%d, %i, %o, %u, %X, %x Four byte default, one, two and four byte counts supported.
E não parece haver nenhum tipo inteiro onde oito bytes sejam suportados (você também precisaria %u
, não %d
paranão assinadoentradas).
Você poderia usar perl
aqui:
perl -ne 'BEGIN{$/ = \24} # 24 byte input records
printf "%015u %6u %6u %6u %6u\n", unpack "QL4"' < binfile
( QL4
sendo 1 quad não assinado (64 bits) seguido por 4 longos não assinados (32 bits))