バイナリ ファイルを読み取り、X バイトごとにいくつかのバイトをスキップするコマンドまたはスクリプト

バイナリ ファイルを読み取り、X バイトごとにいくつかのバイトをスキップするコマンドまたはスクリプト

ファイルを読み取ることができ、たとえば 1024 バイトごとに 512 バイトをスキップする機能を持つ Android シェル コマンドを探しています。

そのようなコマンドは存在し、Android デバイスで使用できますか?

私は見てきましたddドキュメントを見ましたが、その目的で dd を使用できるかどうかはわかりませんでした。dd にファイルの先頭のバイトをスキップさせたり、ファイルから X バイトを読み取らせたりすることはできますが、私が説明した機能を実現する方法がわかりません。

編集:

私の目的のためには、コマンド/スクリプトはstdoutに出力し、処理はストリームのように出力を読み込むので、ない次のようなものである「ファイルをcatし、処理を行い、ファイルをcatする」それはまるで「true の場合、ファイルを 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

関連情報