[英]Merging of two csv files using awk based on common column
我有一個包含11列的文件,其中第一列為主要ID-P1第二個csv,其中三列的第一列為相同的主要ID-P1,盡管兩個文件中的級別都不相同,但我使用以下命令合並了這兩個文件:
awk 'NR==FNR {h[$2] = $3; next} {print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,h[$2]}' first.csv second.csv > final.csv
但是,在新的csv中僅獲得三列
您應該看看join
不是一個簡單的解決方案。 輸入man join
:
join - join lines of two files on a common field
如果first.csv有11列,second.csv有3列,則文件順序錯誤。 嘗試這樣:
awk 'NR==FNR {h[$2] = $3; next} {print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,h[$2]}' second.csv first.csv > final.csv
在此示例中,您還沒有將第一列用作鍵,而是將第二列用作鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.