在linux中处理hexdump命令真的很混乱。 基本上我试图从/ proc / device-tree获取输出。 我试图使用hexdump但最终导致混乱。 我的dts包含
vvn = <0 0 2 2 0 0>;
我在/ proc / device-tree下有一个proc节点。
我尝试了以下命令。
hexdump -v -e '4/1 "%x" " "' vvn ; echo
0000 0000 0002 0002 0000 0000
hexdump -v -e '1/4 "%x" " "' vvn ; echo
0 0 2000000 2000000 0 0
hexdump -v -e '4/1 "%x "' vvn ; echo
0 0 0 00 0 0 00 0 0 20 0 0 20 0 0 00 0 0 0
我有不同的输出,我认为所有会产生相同的输出。 任何人都可以解释一下如何使用hexdump的iterationcount和bytecount以及它的用途以及如何使用该格式?
答案 0 :(得分:1)
迭代计数控制格式重复的次数。
字节数指示每次迭代将格式化的字节数。
格式字符串与printf
的字符串相同。
'4/1 "%x" " "'
:迭代4次:每次使用“%x”格式化1个字节,迭代完成后插入" "
。
'1/4 "%x" " "'
:迭代1次:每次使用“%x”格式化4个字节,迭代完成后插入" "
。这等于'1/4 "%x "'
'4/1 "%x "'
:迭代4次:每次使用“%x”格式化1个字节;当迭代完成时, 吃掉最后一个空格 ,什么都不插入。
我知道为什么hexdump会占用最后一个空格:(。