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개와 부호 없는 Long(32비트) 4개)

관련 정보