【发布时间】:2019-11-06 06:27:16
【问题描述】:
我有两个 CSV 文件
csv 1:
a0,|a1|a2|a3|
b0,|b1|b2|b3|
c0,|c1|c2|c3|
csv 2:
a2,5
a3,7
c3,10
d6,3
b2,6
输出(可以不排序):
a0,a2(5);a3(7)
b0,b2(6)
c0,c3(10)
others,d6(3)
我尝试使用 grep 并做到了。但我认为这将是漫长而耗时的。
#My tried code
while IFS= read -r line
do
f=$(echo "$line" | cut -d, -f1)
f1=$(echo "$line" | cut -d, -f2)
echo "$(cat csv1.csv | grep "|$f|" | cut -d, -f1),$f($f1)" >> output
done < csv2.csv
输出我能够产生的东西
a0,a2(5) a0,a3(6) c0,c3(6)
谁能帮我实现 shell 脚本中预期的输出?
【问题讨论】:
-
欢迎来到 SO,请在您的帖子中添加您的努力,然后让我们知道?你的文件
|也是分隔的吗? -
@RavinderSingh13 对分隔符感到抱歉。我已经用我的努力更新了这篇文章。如果我们有大量数据,我的代码将花费很多时间。我可以有任何分隔符。在我生成数据时