命令或脚本读取二进制文件并每隔 X 字节跳过一些字节

命令或脚本读取二进制文件并每隔 X 字节跳过一些字节

我正在尝试寻找一个能够读取文件但可以跳过的 Android shell 命令,例如每 1024 个字节跳过 512 个字节。

是否存在这样的命令并且可用于 Android 设备?

我看过文档,但无法确定是否可以将 dd 用于此目的。您可以让 dd 跳过文件开头的字节,您可以让它从文件中读取 X 个字节,但我不知道如何获得我所描述的功能。

编辑:

就我的目的而言,命令/脚本应该输出到 stdout,并且处理将像流一样读取输出,因此它将不是类似于“cat 文件,进行处理,cat 文件”。 它像是“当为真时;对文件进行 cat 操作;完成 | 处理”。

可用命令的列表如下:http://www.busybox.net/downloads/BusyBox.html

答案1

嗯,这很有趣。这样的事情可能可行,但我还没有设法让它完全像这样工作。

while head -c 1536; do
    head -c 1024
    dostuff
done

cat file | superawesomescript

对我来说这似乎更明确,但我还没有测试过:

脚本:

mkfifo fifo
while dd bs=1b count=1536 of=fifo; do
    head -c 1024 fifo | processing
done
unlink fifo

相关内容