You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

curl批量请求链接时如何结构化归类响应并过滤指定关键词结果

批量curl请求结构化输出+关键词过滤方案

不要直接使用curl -K file.txt > 结果文件的方式存储响应,这种方式没有请求边界标记,事后拆分混杂内容的成本很高,直接逐URL单独发起请求、边处理边写入是最稳妥的方式,全程不需要改动你现有的url配置文件。

操作步骤

  • 先确认你的file.txt配置格式,所有待请求的URL均以url="xxx"或者url=xxx的形式逐行书写即可,不需要调整现有配置。
  • 新建名为batch_curl.sh的shell脚本,写入以下内容:
#!/bin/bash
# 自定义配置项
TARGET_KEYWORD="helloworld"  # 替换为你需要匹配的关键词
CURL_CONF_PATH="file.txt"    # 你的curl配置文件路径
FINAL_OUTPUT="result.md"     # 最终结果保存路径

# 初始化结果文件
> "$FINAL_OUTPUT"

# 逐行提取配置文件中的所有请求URL
grep '^url=' "$CURL_CONF_PATH" | cut -d '=' -f 2- | tr -d '"' | while read -r current_url; do
    # 发起请求获取当前URL的完整响应,静默模式不输出进度
    response=$(curl -s "$current_url")
    # 校验响应内容是否包含目标关键词
    if echo "$response" | grep -qF "$TARGET_KEYWORD"; then
        # 按结构化格式写入结果
        echo "## 请求地址:$current_url" >> "$FINAL_OUTPUT"
        echo "" >> "$FINAL_OUTPUT"
        echo "### 响应内容" >> "$FINAL_OUTPUT"
        echo '```html' >> "$FINAL_OUTPUT"
        echo "$response" >> "$FINAL_OUTPUT"
        echo '```' >> "$FINAL_OUTPUT"
        echo -e "\n---\n" >> "$FINAL_OUTPUT"
    fi
done
  • 注意:如果你的file.txt中URL配置行不是以url=开头,调整脚本里grep的匹配规则适配你的实际配置格式即可。
  • 给脚本添加执行权限后直接运行即可:
chmod +x batch_curl.sh
./batch_curl.sh

效果说明

  • 最终输出的result.md为标准Markdown格式,每个URL对应独立二级标题,响应内容用HTML代码块包裹,不同请求结果之间用分割线区隔,完全不会出现内容混杂的问题。
  • 脚本会自动过滤掉响应不包含指定关键词的请求,最终文件仅保留符合匹配规则的URL和对应响应。
  • 如果你需要先留存全量请求结果再做过滤,只要删除脚本中关键词判断的if逻辑,让所有响应都写入结果文件即可。

内容的提问来源于stack exchange,提问作者Danish Sattar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 12:24:59