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

如何按子域名列表筛选带参数URL并分类存储为对应子域名文件?

错误原因

你现有命令的错误来自两处:

  1. 你将awk的执行结果放在了$()中,shell的命令替换规则会把输出的域名内容当作系统命令执行,系统不存在对应命令就抛出了command not found报错。
  2. awk的逻辑不符合需求:你直接打印了传入的域名变量u,没有做urls_params.txt的行匹配过滤,就算去掉$()也得不到你要的带参数URL结果。

正确解决方法

你已经提前生成了纯域名的list文件的话,直接执行以下命令即可:

while read -r domain; do
  # 匹配对应域名的带参URL,写入以域名命名的txt文件
  grep -F "://${domain}/" urls_params.txt > "${domain}.txt"
done < list
  • 这里加了-F参数让grep做固定字符串匹配,避免域名里的特殊符号(比如-)被当成正则规则导致匹配异常
  • 匹配规则写为://${domain}/是为了避免域名和URL参数里的内容重复,产生误匹配

如果你不想提前预处理listofdomains.txt,也可以一步完成提取+匹配导出:

while read -r origin_url; do
  # 直接从原始带http/https的域名中提取纯域名部分
  domain=$(sed -E 's#^https?://##' <<< "$origin_url")
  grep -F "://${domain}/" urls_params.txt > "${domain}.txt"
done < listofdomains.txt

执行完成后,当前目录会生成example.com.txt、www.example.com.txt、abc-test.example.com.txt三个文件,内容完全符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 23:09:03