字符串命令基数偏移未与dd / xxd文件偏移排列

时间:2013-06-12 17:05:17

标签: linux bash command-line

我使用此命令生成字符串文件:

strings -a -t d image.dd

这应该在每行之前显示小数的基数偏移量。然后我在文件中搜索有趣的搜索命中。然后我想查看每个搜索命中的十六进制视图中的特定偏移量,我使用dd命令(感兴趣的偏移量为32203):

dd if=image.dd skip=32203 count=1 | xxd

我已经尝试查看此偏移的直接上下文无济于事 - 它不包含相同的数据。我搜索了dd管道到xxd输出,并在偏移\ x7e00(十进制32256 - 与基数偏移相同,只是进入相关行的53个字节)找到了相同的数据,但是即使这样也没有排成一行当我回去通过xxd管道传输时查看它。为什么会出现差异?如何将字符串基数十进制偏移量与dd图像中的字节偏移量相匹配? xxd是罪魁祸首吗?

对于那些想知道为什么我不只是通过xxd搜索dd输出的人,我需要偏移的实际原因是将分配块内容传递给另一个程序,这只是一个概念,说明偏移是不排队。

1 个答案:

答案 0 :(得分:3)

您的问题在于dd skip=参数。文件的skip=32203块(默认块大小为512)。您可以指定ibs=1来设置默认输入块大小。