hexedit과 동일한 형식으로 Hexdump 출력을 얻으려면 어떻게 해야 합니까?

hexedit과 동일한 형식으로 Hexdump 출력을 얻으려면 어떻게 해야 합니까?

출력을 얻으려고합니다.16진수 덤프명령은 다음과 비슷합니다.16진수 편집기본. 나는 형식 문자열을 사용해 왔지만 -e그것을 사용하는 방법을 시각적으로 설명하는 좋은 문서가 없기 때문에 제대로 이해할 수 없습니다.

현재 나는 다음을 가지고 있습니다:

# hexdump -C -n 0x100 m1.bin
00000090  00 00 00 00 00 56 08 00  00 00 00 00 04 00 00 00  |.....V..........|
000000a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

하지만 다음과 같이 4바이트 사이에 공백이 하나 더 필요합니다.

00000090  00 00 00 00  00 56 08 00  00 00 00 00  04 00 00 00  |.....V..........|
000000a0  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  |................|

또는 다음과 같습니다:

00000090  0000 0000  0056 0800  0000 0000  0400 0000  |.....V..........|
000000a0  0000 0000  0000 0000  0000 0000  0000 0000  |................|

그리고 색을 좀 내는 것도 좋을 것 같아요. 지금까지 hexdump에서 어떤 색상도 얻을 수 없었습니다.

편집하다

파이프의 경우 \n주소, 문자 필드 및 줄 바꿈( )을 생략하는 것도 유용합니다.

# hexdump -e '16/1 "%04.2x"' -n 40 m1.bin
  54  4f  43  00  00  00  00  00  00  00  00  00  00  00  00 ...

답변1

그렇게 간단하거나 명확하지 않습니다. 시도해 보세요.

 hexdump -v  -e '"%08.8_ax  "' -e' 4/1 "%02x " "  " 4/1 "%02x " "  "  4/1 "%02x " "  " 4/1 "%02x "  ' -e '" |" 16/1 "%_p" "|\n"' file

답변2

다음과 같이 16진수 덤프를 사용하는 대신 xxd를 사용하는 것이 좋습니다.

xxd <bin_name>
00000000: cffa edfe 0700 0001 0300 0080 0200 0000  ................
00000010: 1000 0000 d006 0000 8580 2100 0000 0000  ..........!.....
00000020: 1900 0000 4800 0000 5f5f 5041 4745 5a45  ....H...__PAGEZE
00000030: 524f 0000 0000 0000 0000 0000 0000 0000  RO..............
00000040: 0000 0000 0100 0000 0000 0000 0000 0000  ................

|끝에 ASCII 문자를 원하면 다음을 시도하십시오.

xxd <bin_name> |  sed -r 's/(................)$/|\1|/g'
00000000: cffa edfe 0700 0001 0300 0080 0200 0000  |................|
00000010: 1000 0000 d006 0000 8580 2100 0000 0000  |..........!.....|
00000020: 1900 0000 4800 0000 5f5f 5041 4745 5a45  |....H...__PAGEZE|
00000030: 524f 0000 0000 0000 0000 0000 0000 0000  |RO..............|
00000040: 0000 0000 0100 0000 0000 0000 0000 0000  |................|

관련 정보