bash - BASH:使用 grep 循环遍历 CSV 和 cURL 行
问题描述
我的目标是在 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
谢谢
解决方案
来自bash 手册
从标准输入中读取一行,或者从作为参数提供给 -u 选项的文件描述符 fd 中读取一行,并将第一个单词分配给第一个名称,第二个单词分配给第二个名称,依此类推,剩下的分配给姓氏的单词及其中间分隔符
因为您只提供一个名称,所以 col1 不是第一列,而是整行。
尝试 while read col1 leftover
使用@gboffi 的评论建议
推荐阅读
- java - 无法从 application.yml 加载属性未绑定
- python - 如何在 Django 中以单一形式上传多个文件?
- javascript - 关于Axios的使用
- amazon-web-services - 在 puresec 的函数屏蔽上检测到空的 aws lambda 子进程执行
- wcf - 收到错误“合同不匹配 - 发送方和接收方之间的操作不匹配”
- c++ - 非类型模板参数:从 bool 到 int 的隐式转换有效,但从 double 到 int 无效。这是为什么?
- nativescript - 如何:使用 Webpack 自定义 CSS 文件?(本机脚本)
- php - Laravel:OVH 托管 SQLSTATE [HY000] [2002] 连接超时
- c++ - 调用哪个字符串构造函数?
- reactjs - 是否可以使用 redux-form、connect 和 withRouter?