连接两个CSV文件,
问题描述:
我需要合并的“契约”列这两个排序的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
的加入没有按”除了输入文件标题的合并之外,什么都不返回? 它为什么会这样?
答
在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
。