-e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:
‘a/b “format1” “format2”’
每个格式字符串由三部分组成,每个由空格分隔,第一个形如a/b,b表示对每b个输入字节应用format1格式,a表示对每a个输入字节应用format2格式,一般a>b,且b只能为1,2,4,另外a可以省略,省略则a=1。format1和format2中可以使用类似printf的格式字符串,如:
%02d:两位十进制
%03x:三位十六进制
%02o:两位八进制
%c:单个字符等
还有一些特殊的用法:
%_ad:标记下一个输出字节的序号,用十进制表示
%_ax:标记下一个输出字节的序号,用十六进制表示
%_ao:标记下一个输出字节的序号,用八进制表示
%_p:对不能以常规字符显示的用.代替
同一行如果要显示多个格式字符串,则可以跟多个-e选项
例 按4字节长度读取二进制数据,转化成十进制输出,
hexdump -e ‘/4 %010d’ test
例1:
输入:
[plain]
view plaincopy
hexdump -e ‘16/1 "%02X " " | "’ -e ‘16/1 “%_p” “\n”’ test
[plain]
view plaincopy
hexdump -e ‘16/1 "%02X " " | "’ -e ‘16/1 “%_p” “\n”’ test
hexdump -e ‘16/1 "%02X " " | "’ -e ‘16/1 “%_p” “\n”’ test输出:
[plain]
view plaincopy
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | … 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F | … 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F | !"#$%&’()*+,-./
[plain]
view plaincopy
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | … 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F | … 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F | !"#KaTeX parse error: Expected 'EOF', got '#' at position 208: …D 2E 2F | !"#̲%&’()*+,-./