1

给定一个块大小为 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 中执行此操作很简单,但我需要在 shell 脚本中使用此功能,因为目标系统没有 perl 或 python,而只有基本实用程序。我希望有一种方法可以滥用现有的工具。如果不可能,我会写一些 C 来做,但我想避免它。

一种用例是从原始音频文件中提取一个音频通道。

4

1 回答 1

0

您可能会搜索的一个术语(“斑马条纹”除外)是“步幅”。这就是有些人所说的每次跳过 k 字节的想法。

从您的帖子中并不完全清楚,但看起来您实际上希望能够将此过滤器插入管道中并让它消耗原始字节并输出相同的内容。如果是这种情况,我不确定如何在普通的 shell 脚本中轻松完成它,所以建议你要么蹲下来用 C 语言编写它,要么在目标系统上安装 Python 或其他东西。

于 2011-06-05T14:06:41.160 回答