Answers:
xxd -p file
或者,如果您想全部放在一行上:
xxd -p file | tr -d '\n'
格式字符串可以使hexdump的行为完全符合您的期望(完全没有空格,逐字节):
hexdump -ve '1/1 "%.2x"'
1/1
表示“每种格式只应用一次并占用一个字节”,并且"%.2x"
是实际的格式字符串,例如在printf中。在这种情况下:2个字符的十六进制数,如果较短则以零开头。
-v
,否则它将丢弃重复的字节并将其替换为星号。
; echo
使得它无法用作bash别名)
alias to_hex="hexdump -ve '1/1 \"%.2x\"' && echo"
hexdump -ve '"%.2x"'
hexdump -n 13 -e '13/1 "%.2x" "\n"'
它似乎取决于的版本的细节od
。在OSX上,使用以下命令:
od -t x1 -An file |tr -d '\n '
(这是打印为十六进制字节类型,没有地址。当然,此后删除空格。)
-v
在此上下文中添加,否则它会跳过重复*
。
Perl一线:
perl -e 'local $/; print unpack "H*", <>' file