如何使用dd来读取和寻找不同的块大小

时间:2015-01-07 16:16:01

标签: linux bash unix dd

我有一种情况,我必须阅读稀疏文件。此文件具有特定偏移量的数据。现在我想实现。 1)从给定的偏移量中读取3个块(自定义大小) 2)需要使用1M

来寻找偏移量

所以,我正在尝试下面的命令,但没有成功。我肯定会阅读更多内容。

dd if=a_Sparse_file_ofSIZe_1024M of=/dev/null ibs=1M skip=512 obs=262144 count=3

跳过512M的块并从512M + 1次偏移读取,使用256K的块进行3次计数。

skip总是应该是MB,而count块是可变的。 我相信我正在阅读更多数据。有人可以纠正我。

2 个答案:

答案 0 :(得分:3)

您总是可以将2 dd串在一起,第一个跳过,第二个读取您的实际数据:

dd if=a_Sparse_file_ofSIZe_1024M bs=1M skip=N | dd bs=262144 count=3

答案 1 :(得分:1)

count参数似乎基于ibs,因此obs值无关紧要。由于您的obs值比ibs小四倍,我建议您设置bs=256K并将skip值乘以四:skip=2048