簡體   English   中英

使用基於公共列的awk合並兩個csv文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM