2012-06-22 76 views
10

我在Linux中有兩個文件,第一個文件有4列,第二個文件有2列。我想這些文件合併成具有從文件1和文件2。我試圖awk中的第一列第3列的新文件,但文件2我的數據是根據文件1.在Linux中將兩個文件合併到不同的列中

+4

如果您提供了一個輸入文件的例子以及您迄今嘗試過的內容的描述,它將會非常有幫助。 –

回答

29
paste file1 file2 | awk '{print $1,$2,$3,$5}' 
+0

對逗號分隔值使用'awk'{print $ 1「,」$ 2「,」$ 3}「'' – Dinei

2

放置如果文件具有相同的行數,你可以這樣做:

awk '{ getline v < "file2"; split(v, a); print a[2], $1, $3 }' file1 

從文件1和第2列從file2輸出colums 1和3。

4

不知道你從每個文件要其列,但這樣的事情應該工作:

paste <file1> <file2> | awk '{print $1,$2,$3,$5}' 

前三列將從file1採摘,第四跳過,然後選擇從第一列第二個文件。

1
you can try this one without paste command: 
awk '{print $1}{print $2}{print $3}' file1 >> mergedfile 
awk '{print $2}' file2 >> mergedfile 
相關問題