在合併/級聯/合成/裝訂等以下perl腳本
- 需要幫助一些幫助我有幾個ASCII文件各自限定一個可變我已經轉換成單個列陣列
我對很多變量都有這樣的列數據,所以我需要執行一個列綁定,如R
,並將其作爲一個單獨的文件。
我可以在R
中做同樣的事情,但是文件太多。能夠用一個單一的代碼做到這一點將有助於節省大量的時間。
使用下面的代碼,新的perl和需要幫助。這裏
@filenames = ("file1.txt","file2.txt");
open F2, ">file_combined.txt" or die;
for($j = 0; $j< scalar @filenames;$j++){
open F1, $filenames[$j] or die;
for($i=1;$i<=6;$i++){$line=<F1>;}
while($line=<F1>){
chomp $line;
@spl = split '\s+', $line;
for($i=0;$i<scalar @spl;$i++){
print F2 "$spl[$i]\n";
paste "file_bio1.txt","file_bio2.txt"> file_combined.txt;
}
}
close F1;
}
輸入文件是一個raster.They的ASCII文本文件看起來像沒有貼語法這
32 12 34 21 32 21 22 23
12 21 32 43 21 32 21 12
上面提到的這些代碼文件轉換成單柱
32
12
34
21
32
21
22
23
12
21
32
43
21
32
21
12
The output should look like this
12 21 32
32 23 23
32 21 32
12 34 12
43 32 32
32 23 23
32 34 21
21 32 23
每列表示一個不同的ascii文件。 我需要將大約15個這樣的ASCII文件合併到一個數據框中。我可以在R中執行相同的操作,但由於文件和感興趣區域的數量太多,文件也有點大,所以它會消耗大量時間。
假設你是在一個* nix的環境有關使用'如何加入'?另外,file_bio1.txt和file_bio2.txt從哪裏來?你是否試圖在沒有反引號的情況下調用'paste'? – squiguy
我不完全清楚你想要做什麼? – chrsblck
沒有這是一個打字錯誤,我的意思是寫file1.txt等...當我嘗試代碼時,它給了我一個錯誤,找不到字符串終止符在EOF之前的任何地方(line12)。請嘗試加入 –