2017-02-09 44 views
0

我有數百個這種格式的文件(文件中的兩列由空格分隔)。如何結合製表符分隔格式的許多文本文件?

文件1:

abcd 2 
efgh 1 
ijkl 3 
mnop 4 

文件2:

abcd 1 
efgh 2 
mnop 2 

文件3:

mnop 1 

我想在製表符分隔的文件中的所有結果格式如下:

 abcd efgh ijkl mnop 
file1 2 1  3 4 
file2 1 2  0 2 
file3 0 0  0 1 

因此,首先我需要將兩列文件轉置爲兩行。我試着用這個awk命令,但沒有工作:

awk '!(NR%2){print}' FS='\n' OFS='\t' RS= file1.txt > file1-tr.txt 

難的部分,以轉置後的所有文件結合起來,使一個單一的文件輸入爲零那裏是在文件中某些條目的值。不知道什麼程序可以做到這一點?!

+4

通過標記多種不同的語言來鑄造寬網絡並不是獲得答案的最佳方式。你應該閱讀[如何問](http://stackoverflow.com/help/how-to-ask),並展示你想要做的一些初步嘗試。 –

回答

2

awk來救援!

$ awk -v OFS='\t' '{f=FILENAME; fs[f]; vs[$1]; a[f,$1]=$2} 
       END {for(v in vs) printf "%s", OFS v; 
        print ""; 
        for(f in fs) 
         {printf "%s", f OFS; 
         for(v in vs) printf "%s", a[f,v]+0 OFS; 
         print ""}}' file{1..3} | 
    column -ts'\t' 
+0

謝謝!有效! – Ramon

相關問題