2017-04-05 156 views
1

我需要合併的「契約」列這兩個排序的CSV文件(這是很常見的兩個文件):連接兩個CSV文件,

file1.csv

數據;客戶端;合同

2017年3月4日; LA00024; 1-456

2017年3月4日; LA00025; 1-789

file2.csv

合同; PDA

1-456; 00024

1-789; 00025

我想獲得的輸出它是一個獨特的表:

data; client; contract; PdA

2017年3月4日; LA00024; 1-456; 00024

2017年3月4日; LA00025; 1-789; 00025

但是使用命令

$加入-o 1.1 1.2 1.3 2.2 -t「;」 -1 3 -2 1 file1.csv file2.csv

結果我得到的只是一個線

$數據;客戶端;合同; PDA

的加入沒有按」除了輸入文件標題的合併之外,什麼都不返回? 它爲什麼會這樣?

回答

1

join之前排序文件。

join -o 1.1,1.2,1.3,2.2 -t ';' -1 3 -2 1 <(sort -n -t";" -k3 file1.csv) <(sort -n -t";" -k1 file2.csv) 

PS:對於樣本數據,有問題的命令爲我工作。要求,-o FORMAT