如何只打印hexdumphex值没有行号或ASCII表?

在UNIX shell脚本中将十进制转换为hex

我想从hexdump只打印hex values ,即不要打印行号和ASCII表。

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

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

Solutions Collecting From Web of "如何只打印hexdumphex值没有行号或ASCII表?"

你可以指定你想用hexdump输出的确切格式,但这有点棘手。 这是默认输出,减去文件偏移量:

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

(对我来说,看起来这样会在每行的末尾产生一个额外的尾部空格,但是由于某种原因它不会)。

使用xxd对于这个工作更好:

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

man xxd

 -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. 

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

首先,删除发出ascii信息的-C

然后你可以放弃抵消

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