如何打印不带行号或ASCII表只从hexdump都十六进制值? [重复](How to prin

2019-08-17 20:20发布

这个问题已经在这里有一个答案:

  • 如何创建一个只包含十六进制字符没有在bash空格的文件的十六进制转储? 5个回答

下面转换十进制为十六进制在UNIX shell脚本

我想仅打印hex valueshexdump ,就是不打印的行数和ASCII表。

但是,下面的命令行不打印任何东西:

hexdump -n 50 -Cs 10 file.bin |  awk '{for(i=NF-17; i>2; --i) print $i}'

Answer 1:

您可以指定你想要的确切格式hexdump使用输出,但它是一个有点棘手。 下面是默认的输出,减去文件偏移:

hexdump -e '16/1 "%02x " "\n"' file.bin

(对我来说,它看起来像这将在每行的末尾产生一个额外的尾随的空间,但由于某些原因,它没有。)



Answer 2:

使用xxd是这个工作做得更好:

xxd -p -l 50 -seek 10 file.bin

man xxd

xxd - make a hexdump or do the reverse.

    -p | -ps | -postscript | -plain
        output in postscript continuous hexdump style. Also known as plain hexdump style.

    -l len | -len len
        stop after writing <len> octets.

    -seek offset
        When used after -r: revert with <offset> added to file positions found in hexdump.


Answer 3:

作为替代,可以考虑使用xxd -p file.bin



Answer 4:

首先,除去-C其被发射的ASCII信息。

然后,你可以放弃与偏移

hexdump -n 50 -s 10 file.bin | cut -c 9-


文章来源: How to print only the hex values from hexdump without line numbers or ASCII table? [duplicate]