我有下面的腳本來合併兩個文件。Linux awk合併兩個文件
awk -F"\t" '
{key = $1}
!(key in result) {result[key] = $0; next;}
{ for (i=2; i <= NF; i++) result[key] = result[key] FS $i }
END {
PROCINFO["sorted_in"] = "@ind_str_asc" # if using GNU awk
for (key in result) print result[key]
}
' $1 $2 > $3
第一列是關鍵字,並且都是$ 1和$ 2。 但是,如果$ 2列有一個鍵,但$ 1列沒有鍵。
然後它也是合併,除了$ 1行。
我想只合並$ 1密鑰存在。 我怎樣才能簡單地結合這兩個文件?
例如,
文件1
Key Column1 Column2 Column3
Test1 500 400 200
Test2 499 400 200
Test5 600 200 150
Test6 600 199 150
Test7 599 199 100
文件2
Key Column4 Column5
Test1 Good Good
Test2 Good Good
Test3 Good Good
Test4 Good Good
Test5 Good Good
Test6 Good Good
Test7 Good Good
電流聯合
Key Column1 Column2 Column3 Column4 Column5
Test1 500 400 200 Good Good
Test2 499 400 200 Good Good
Test5 600 200 150 Good Good
Test6 600 199 150 Good Good
Test7 599 199 100 Good Good
Test3 Good Good
Test4 Good Good
預期聯合。
Key Column1 Column2 Column3 Column4 Column5
Test1 500 400 200 Good Good
Test2 499 400 200 Good Good
Test5 600 200 150 Good Good
Test6 600 199 150 Good Good
Test7 599 199 100 Good Good
謝謝!
句子'第一列關鍵和$ 1和$ 2。但是,如果$ 2列有一個鍵,但$ 1列沒有鍵。那麼除了1美元行外,它也是合併的。「並不意味着什麼。你應該改變它們以反映你的意思或只是刪除它們。 –