다음을 포함한 레코드가 포함된 이진 파일을 표시하려고 합니다.
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
서명되지 않은정수).
여기서 사용할 수 있습니다 perl
:
perl -ne 'BEGIN{$/ = \24} # 24 byte input records
printf "%015u %6u %6u %6u %6u\n", unpack "QL4"' < binfile
( QL4
부호 없는 쿼드(64비트) 1개, 부호 없는 긴 쿼드(32비트) 4개)