【发布时间】:2019-03-08 18:49:06
【问题描述】:
我的目标是在 bash 中循环遍历一个 CSV 文件,我有一些可以正常工作的代码。它似乎没有完成 cURL,因为命令会立即完成并添加到失败文件中。它正在读取 URL 的单列 CSV。
我研究过但没有成功,查看 GREP 成功代码等。这只是在 MACOS 上本地运行。
INPUT=test.csv
OLDIFS=$IFS
IFS=,
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read col1
do
if curl -L -s "$col1" | grep -q "string"; then
echo "${col1}" >> one.txt
else
echo "${col1}" >> two.txt
fi
done < $INPUT
IFS=$OLDIFS
我还在 IF 行上尝试了以下操作:
if [[ $(curl -L -s "$col1" | grep -q "string") ]]; then
谢谢
【问题讨论】:
-
拥有 test.csv 的一部分会很棒
-
让我们尝试调试它。在
do之后立即添加一行echo $col1,这样您就可以看到您从阅读test.csv获得的内容是否真的是您想要的。 -
echoing col1 为我提供了新行上的域,我还根据@PTRK 指令添加了剩余部分。
-
请修改您的问题,用几行 test.csv 添加脚本的输出。
-
删除 -s 后出现以下错误
curl: (3) Illegal characters found in URL所以它必须是 cURL 中的 URL