用控制代碼讀取大檔案進陣列是很佔記憶體的事,所以,一邊讀資料,一邊處理資料,處理完之後就直接輸出到檔案,這是個很靠譜的想法,尤其是處理特大資料的時候,這個想法尤其珍貴。下面是具體例子:
輸入檔案1:
31 0
32 0
33 0
34 0
35 0
36 0
37 0
38 0
39 0
40 0
41 0
42 0.95
43 0
44 0
輸入檔案2:
92 0
93 0
94 0
95 0
96 0
97 0
98 0
99 0
100 0
101 0
102 0
103 0
104 0
105 0
106 0
107 0
108 0
109 0
110 0.138888888888889
111 0
112 0
113 0
114 0
115 0
116 0
117 0
118 0
處理**:
#!/usr/bin/perl
use strict;
use warnings;
my $pb_file = shift; #read file of polar bear
my $bb_file = shift; #read file of blown bear
my $n1 = 18;
my $n2 = 10;
open (aa, "$pb_file") or die "$!";
open (bb, "$bb_file") or die "$!";
open (cc, ">a_ab.txt") or die "$!";
my $aa;
my $bb = ;
while( $aa = )else
}my $p12_2 = ($pb[1] - $bb[1])*($pb[1] - $bb[1]);
my $alpha1 = 2 * $pb[1] * (1 - $pb[1]);
my $alpha2 = 2 * $bb[1] * (1 - $bb[1]);
my $a = $p12_2 - ($n1+$n2)*($n1*$alpha1 + $n2*$alpha2) / 4*$n1*$n2*($n1+$n2-1);
my $b = $p12_2 + (4*$n1*$n2-$n1-$n2)*($n1*$alpha1 + $n2*$alpha2) / 4*$n1*$n2*($n1+$n2-1);
my $fst;
if ($a == 0)else
print cc "$bb[0]\t$a\t$b\t$fst\t\n";
}
求出資料之後可以作圖...........待續 shell指令碼不使用exec,同時讀取兩個檔案
還是需要用到檔案重定向 翻譯成白話就是告訴機器使用哪個檔案進行輸入輸出 網上大多讀取兩個檔案的操作是使用exec實現檔案重定向,但是這樣exec後,檔案重定向操作會永久生效 但是一般只希望在當前命令中有效,之後就沒用了。比如 意思是從 3 號 fd file descriptor,檔案描述符 中讀一...
如何同時管理兩個專案?
最近比較忙。產品的乙個版本a正在測試部門進行功能 效能的驗證測試,另乙個版本b正在處於需求分析階段。因工作安排關係,我作為版本a專案組c和版本b專案組d的專案經理,需要負責版本a的問題定位 小特性開發的的組織工作,需要負責版本b的專案計畫 開發組織工作。多項工作進行,面臨多個領導的壓力,確實是很有挑...
如何同時返回兩個值
關鍵字就是被c語言本身占用的那些字串,比如 int,typedef。我們在定義變數或函式的名字時時要避開它們。標誌符就是我們定義的變數和函式的名字。提出乙個問題 寫乙個函式,計算兩個數相除,要求同時返回商和餘數,怎麼寫?我們知道函式的返回值只能有乙個,同時返回兩個數這跟本不可能。但用結構就變為可能了...