參考文件如何比較和合並多個文件?
chr1 288598 288656
chr1 779518 779576
chr2 2569592 2569660
chr3 5018399 5018464
chr4 5182842 5182882
文件1
chr1 288598 288656 12
chr1 779518 779576 14
chr2 2569592 2569660 26
chr3 5018399 5018464 27
chr4 5182842 5182882 37
文件2
chr1 288598 288656 35
chr2 2569592 2569660 348
chr3 5018399 5018464 4326
chr4 5182842 5182882 68
我不提及文件6個類似的文件。
這裏前三個字段與參考文件相似。因此,我想從所有6個文件中僅導出第4列,並將其放入參考文件以創建新的輸出。這應該等同於參考文件。他們不匹配的地方把零。
期望的輸出
chr1 288598 288656 23 35 57 68 769 68
chr1 779518 779576 23 0 57 68 768 0
chr2 2569592 2569660 23 35 0 68 79 0
chr3 5018399 5018464 0 36 0 68 769 0
chr4 5182842 5182882 23 0 0 0 0 0
注:參考文件長度爲約2000 ANS的其它文件不總是在相同的長度(約500,400,200,100等)。這就是爲什麼需要添加零。
我想答案從this question
paste ref.file file1 file2 file3 file4 file5 file6 | awk '{OFS="\t";print $1,$2,$3,$7,$11,$15,$19,$23,$27}' > final.common.out
,但似乎它不工作 - 一些值被錯過。我無法理解如何在沒有匹配的地方添加零。
提示:看看join命令。 – SMA 2015-02-10 16:10:13
文件中是否真的有空行?我不假設,但你爲什麼要這樣展示他們? – Borodin 2015-02-10 17:13:28
沒有抱歉.....沒有空白。 – unique379 2015-02-10 17:54:30