我正在尝试使我的十六进制命令的输出看起来类似于十六进制默认设置。我一直在使用-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 |................|而且,如果有可能得到一些颜色,那将是真的很棒。到目前为止,我还没有得到任何颜色从六转储。
对于管道来说,还可以省略地址、char字段和新行(\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 ...发布于 2018-10-17 22:18:00
没有那么简单也不明显..。试一试
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发布于 2018-10-17 18:59:03
我建议不要使用十六进制转储,而是像这样使用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 |................|https://unix.stackexchange.com/questions/476079
复制相似问题