如何在另一个文件中搜索 CSV 令牌?

如何在另一个文件中搜索 CSV 令牌?

我正在使用 bash shell。我想解析一个 CSV 文件“A”,在 CSV 文件“B”中搜索该字符串,然后输出 CSV 文件 B 中匹配行的第一列的值。所以我尝试了

while IFS=, read -r col1 name col3 col4 col5
do
    echo "I got:$name|$col5"
    value=`grep ${name} /tmp/accounts_created.csv | cut -d, -f${0}`
    echo "value:$value \n"
done < ~/Downloads/all_data.csv

但由于某种原因,这不起作用,尽管我知道两个文件中都有匹配的数据。有更好的方法来做到这一点吗?

答案1

据我了解,你只需要 awk 。

awk -F, 'NR==FNR{seen[$2]=1;next} /seen[$2] ~ $0/{print $1}
' ~/Downloads/all_data.csv /tmp/accounts_created.csv

相关内容