我的脚本生成一些非常非常大的文件,我试图以二进制格式打印/保存输出以尽可能减小文件大小!以perl格式打印和保存二进制格式的数据
每个脚本生成5个值,如时间:
$a1 = 1.64729
$a2 = 4.33329
$a3 = 3.55724
$a4 = 1.45759
$a5 = 7.474700
它打印输出,如:
A:1.64729,4.33329,3.55724,1.45759,7.474700
我不知道这是否是最好的方式,但我想收拾每行打印到输出时!我在perl中使用了pack/unpack内置函数!
我看了一下perldoc,但不明白哪个格式说明符是正确的(???)!
#!/usr/bin/perl
...
@A = ($a1,$a2,$a3,$a4,$a5);
print pack ("???", ("A:",join(",", map { sprintf "%.1f", $_ } @A)),"\n";
您可能最好在整个文件上使用压缩。您可以在写入时对其进行压缩,并在必要时对其进行解压缩。 “非常非常大”有多大? – ysth 2014-10-30 22:25:15
1000个文件,每个压缩文件1.7 G – EpiMan 2014-10-30 22:28:31