使用awk尝试在CSV行中查找变量

时间:2017-06-22 14:38:44

标签: bash csv variables awk

我正在尝试浏览两个文件。首先逐行,同时使用awk搜索包含从第一个文件中提取的字符串的行。

while IFS=, read col1 col2 col3
do
    echo $(awk -F, -v var="$col2" '$2==var || $2=="www."var {print $0}' searchFile.csv)
    //do stuff with data from awk
done < origFile.csv

我正在尝试在此文件中查找域名,而awk目前永远不会返回匹配项。我已经手动检查了文件,以确保一些不返回匹配的文件同时存在,而且它们都是。

我尝试过使用嵌套循环,但bash不想打开第二个文件来读取,也不会读取第二个文件。我也尝试过使用grep,但文件太大而且grep会耗尽内存。

searchFile.csv的示例输入:

4915,google.com,oct
3532,domain.ca,nov
33451,yahoo.ca,nov

我确保输入的数据没有空格,并且已经验证来自origFile.csv的$ col2与searchFile.csv中的数据相匹配

1 个答案:

答案 0 :(得分:-2)

您的数据文件是否有空格?如果是这样,您的记录($ 2)将有空格并且可能不匹配(因为您使用的是awk -F)。尝试匹配〜而不是==。