我的腳本生成一些非常非常大的文件,我試圖以二進制格式打印/保存輸出以儘可能減小文件大小!以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