【发布时间】:2017-11-25 22:03:28
【问题描述】:
我正在尝试浏览两个文件。逐行第一个,同时使用 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 中的数据匹配
【问题讨论】:
-
您应该发布一两行与您正在解析的文件匹配的行。
-
请发布示例输入和示例输出..
-
我更新了输入,代码没有输出。
-
尽管我不喜欢你的代码风格,但我没有看到任何错误。你为什么要回显到 STDOUT 的东西?无论如何,做一个
file searchFile.csv,也可以在 origFile.csv 上做一个。验证它们是纯 ascii 文件,没有奇怪的字符。 -
@BreannaWilson 我们显然不是要求查看尚不存在的工具的输出,而是要求您发布您想要的 desired 输出一旦它确实存在,就可以从这样的工具中获取。还要发布
origFile.csv的内容,这样我们就有了简洁、可测试的样本输入和给定该输入的预期输出。如果不清楚,请参阅How to Ask。