【发布时间】:2016-11-24 05:59:24
【问题描述】:
我有两个 csv 文件
文件A
ID
1
2
3
文件B
name,ID
a,1
a,2
a,4
ab,1
ac,1
bb,3
bd,2
ad,2
我要做的是获取FileA中的每个值并比较FileB中的ID是否等于FileA中的ID,如果匹配,则打印FileB中的整行并将所有内容保存在FileC中。注意FileC中的顺序并不重要
预期结果
文件C
name,ID
a,1
a,2
ab,1
ac,1
bb,3
bd,2
ad,2
我目前的粗略想法:
while read line
do
helper_function line
done < FileA
helper_function(){
awk -F, '$2==line {print $0}' FileB
... need to implement more...
}
但是 FileA 和 FileB 都相当大,我不确定在这里使用 for 循环是否是一个好主意,因为它会很耗时。我们还有其他方法可以解决这个问题吗?谢谢你
【问题讨论】: