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

如何遍历文本文件中的URL链接,筛选含指定关键词并分存文件?

没问题,我给你两种简单实用的解决方案,不管你习惯用Python写脚本还是直接用Shell命令,都能快速搞定你的需求:

方法一:Python脚本(跨平台通用)

这个脚本适合所有操作系统(Windows、Linux、macOS),逻辑清晰还方便后续修改关键词或者扩展功能:

# 定义需要检查的关键词列表,可按需添加或修改
target_keywords = ["2018", "2017"]

# 用with语句打开文件,会自动处理文件关闭,避免资源泄漏
with open("mylinks.txt", "r", encoding="utf-8") as source_file, \
     open("yes.txt", "w", encoding="utf-8") as yes_output, \
     open("no.txt", "w", encoding="utf-8") as no_output:
    
    for line in source_file:
        # 去掉每行首尾的空格、换行符
        cleaned_line = line.strip()
        # 跳过空行,避免无效处理
        if not cleaned_line:
            continue
        
        # 提取URL内容(适配你的"URL = http://xxx"格式)
        if "URL = " in cleaned_line:
            url = cleaned_line.split("URL = ")[-1].strip()
            # 检查URL是否包含任意一个目标关键词
            matches_keyword = any(keyword in url for keyword in target_keywords)
            if matches_keyword:
                yes_output.write(url + "\n")
            else:
                no_output.write(url + "\n")

使用步骤:

  1. 把上面的代码保存成filter_urls.py文件
  2. 打开终端,切换到文件所在的目录
  3. 运行命令:python filter_urls.py
  4. 执行完成后,就能看到生成的yes.txt和no.txt了

要是需要添加新关键词,直接修改target_keywords列表就行,比如改成["2018", "2017", "2019", "archive"]。

方法二:Shell命令(Linux/macOS/WSL快速处理)

如果你用的是Linux、macOS,或者Windows上的WSL(Windows子系统),用Shell命令可以不用写脚本,直接在终端执行就能完成:

# 提取包含2018或2017的URL到yes.txt,同时去掉"URL = "前缀
grep -E "(2018|2017)" mylinks.txt | sed 's/^URL = //' > yes.txt

# 提取不包含关键词的URL到no.txt,同样去掉前缀
grep -vE "(2018|2017)" mylinks.txt | sed 's/^URL = //' > no.txt

命令解释:

  • grep -E "(2018|2017)":匹配包含2018或2017的行
  • grep -vE:和上面相反,匹配不包含关键词的行
  • sed 's/^URL = //':把每行开头的URL = 字符串替换为空,只保留纯URL
  • > yes.txt:把命令结果写入到yes.txt文件中

执行完这两条命令,分类好的文件就直接生成了,效率拉满。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:30:46