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.

그리고 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개)

관련 정보