Text-Processing
合併兩個文件,一次一列
我有以下格式的 2 個大文件(3000 列,15000 行)
file1(製表符分隔):
1/0 0/0 0/0 0/0 1/1 0/0 1/1 0/1 0/0
file2(製表符分隔):
3 5 2 1 7 10 3 4 3
我想將每個文件第一列的值與“:”分隔符組合起來,然後轉到第二、第三等列。所需的輸出(製表符分隔):
1/0:3 0/0:5 0/0:2 0/0:1 1/1:7 0/0:10 1/1:3 0/1:4 0/0:3
效率並不重要,所以任何語言都可以。如果以前有人問過這個問題,我很抱歉。
像這樣的東西?使用您的範例數據:
paste file{1,2} | awk '{for (i=1;i<=NF/2; i++){printf "%s:%s\t",$i,$(NF/2+i)};printf "\n"}' 1/0:3 0/0:5 0/0:2 0/0:1 1/1:7 0/0:10 1/1:3 0/1:4 0/0:3
awk '{ getline f2 < "file2" split(f2, a) for (i=1; i<=NF; i++) printf "%s:%s\t", $i, a[i] print "" }' file1