hexdump 中的迭代次数和字节数是多少?

what is iteration count and byte count in hexdump?

在 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 的迭代计数和字节计数及其用途以及如何使用格式吗?

迭代计数控制格式重复的次数。

字节数表示每次迭代将格式化多少字节。

格式串同printf

'4/1 "%x" " "':迭代4次:每次用“%x”格式化1个字节,迭代完成后插入" ".

'1/4 "%x" " "':迭代1次:每次用“%x”格式化4个字节,迭代完成后插入" "。这等于 '1/4 "%x "'

'4/1 "%x "':迭代4次:每次用"%x"格式化1个字节;迭代完成后,吃掉最后一个 space,什么都不插入。

我知道为什么 hexdump 会吃掉最后一个 space :(.