-1

我有一个包含 4 字节浮点值的原始序列的文件 - 没有标题,没有格式,没有别的。我想以人类可读的格式打印一些浮点值,比如从第 n_1 个浮点数到第 n_2 个浮点数,包括在内。

在类 Unix 命令行环境中执行此操作的简单方法是什么?

4

1 回答 1

0

使用Unix 系统上命名的八进制转储实用程序;od它也支持解析浮点二进制表示。

具体来说,让 N1 = n_1 * 4、N2 = n_2 * 4 和 N3 = N2 - N1,调用:

od -An -w4 -tf4 -j N1 -N N3 file_with_floats.bin

得到类似的东西:

        -123.456
             inf
         111.222

对于具有三个 4 字节浮点值的文件。

解释:

  • -w4: 打印每行 4 个字节的转储值(即一个浮点值)
  • -An: 没有在每一行前面加上文件的起始偏移量
  • -tf4: 浮点格式,每个值 4 个字节
  • -j N1: 跳过 N1 个字节
  • -N N3: 转储 N3 个字节
于 2021-12-05T08:48:27.460 回答