linux - 如何使用dd读取和寻找不同的 block 大小

标签 linux bash unix dd

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

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

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

跳过 512M 的 block 并使用 256K 的 block 从第 512M+1 个偏移量读取 3 个计数。

skip 总是应该以 MB 为单位并且计数 block 是可变的。 我确定我正在阅读更多数据。有人可以纠正我吗。

最佳答案

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

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

关于linux - 如何使用dd读取和寻找不同的 block 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27823732/

相关文章:

python - 如何从任何地方查找特定时区的时间

c++ - 如何找出我的 Linux 应用程序的内存占用情况?

bash - 为什么 Jenkins 管道返回 -@tmp/durable-56090643/script.sh 4 : FSUM7728 bad ${} modifier for shell command?

linux - 使用 "if"和 "case"更改主机名

c++ - 使用超时终止函数

c - C 预处理器如何处理循环依赖?

linux - Bash 评估 : [ vs ||

c - 直到程序结束,文件才写入磁盘

unix - 目录的递归列表

bash - 根据第一列对 CSV 文件进行排序