ブロックサイズ n と別のサイズ k が与えられた場合、k の倍数の入力の開始点からのオフセットを持つブロックのみを出力する方法を探します。
2 バイト データの 4 タプルの数で構成されるファイルを想像してください。この入力が与えられたので、各タプルの最初のエントリのみが必要です。
入力例:
00 00 11 11 22 22 33 33
44 44 55 55 66 66 77 77
88 88 99 99 aa aa bb bb
cc cc dd dd ee ee ff ff
n=2 および k=8 の出力例:
00 00 44 44 88 88 cc cc
これは、入力の最初の「列」にすぎません。
perlやpythonでこれを行うのは簡単ですが、ターゲットシステムにはperlやpythonがなく、基本的なユーティリティしかないため、シェルスクリプトでこの機能が必要です。そのために既存のツールを悪用する方法があることを願っています。それが不可能な場合は、それを行うCをいくつか書きますが、避けたいと思います。
1 つの使用例は、生のオーディオ ファイルから 1 つのオーディオ チャネルを抽出することです。