0

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

4

1 回答 1

1

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

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

格式字符串与printf.

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

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

'4/1 "%x "': 迭代4次:每次用“%x”格式化1个字节;迭代完成后,吃掉最后一个空格,不插入任何内容。

我确实知道为什么 hexdump 会吃掉最后一个空间:(。

于 2016-09-26T06:19:23.940 回答