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

如何提取TXT文件中包含指定关键词的段落?

批量提取TXT文件中含指定关键词的段落

以下是两种实用的实现方法,适配不同场景:

方法一:Python脚本(跨平台、批量处理首选)

适合处理大量文件或需要自定义逻辑的场景。脚本会遍历指定目录下的所有TXT文件,提取包含目标关键词的段落(默认按空行分割段落),并保存为新文件(避免覆盖原文件)。

import os
import re

# 定义关键词列表
keywords = ["cryptocurren", "virtual curren", "digital curren"]
# 编译正则表达式,支持不区分大小写匹配
pattern = re.compile('|'.join(keywords), re.IGNORECASE)
# 指定处理目录(当前目录用'.')
target_dir = '.'

for filename in os.listdir(target_dir):
    if filename.endswith('.txt'):
        file_path = os.path.join(target_dir, filename)
        # 读取文件内容
        with open(file_path, 'r', encoding='utf-8') as f:
            content = f.read()
        # 按空行分割段落(适配\n\n或\r\n\r\n格式)
        paragraphs = re.split(r'\r?\n\r?\n', content.strip())
        # 筛选包含关键词的段落
        filtered_paragraphs = [p for p in paragraphs if pattern.search(p)]
        # 生成输出文件名
        output_filename = f"{os.path.splitext(filename)[0]}_filtered.txt"
        output_path = os.path.join(target_dir, output_filename)
        # 写入筛选后的内容
        with open(output_path, 'w', encoding='utf-8') as f:
            f.write('\n\n'.join(filtered_paragraphs))
        print(f"处理完成:{filename} -> {output_filename}")

脚本说明

  • 如需严格区分大小写匹配,删除re.IGNORECASE参数即可
  • 若段落不是以空行分隔,可修改re.split的正则表达式(比如按特定标记分割)
  • 处理结果保存为带_filtered后缀的新文件,原文件不受影响

方法二:命令行工具(快速处理单/批量文件)

Linux/macOS 终端

使用awk处理段落(默认空行分隔),批量处理当前目录下的TXT文件:

# 批量生成带_filtered后缀的新文件
for file in *.txt; do
    awk -v RS='' '/cryptocurren|virtual curren|digital curren/' "$file" > "${file%.txt}_filtered.txt"
done
  • awk默认区分大小写,如需忽略大小写可添加-v IGNORECASE=1参数
  • 若要直接覆盖原文件(谨慎操作),将输出路径改为"$file"

Windows PowerShell

批量处理当前目录下的TXT文件:

Get-ChildItem *.txt | ForEach-Object {
    $content = Get-Content $_ -Raw
    # 按空行分割段落并筛选
    $filtered = $content -split '\r?\n\r?\n' | Where-Object { $_ -match 'cryptocurren|virtual curren|digital curren' }
    # 写入新文件
    $filtered | Out-File "${_.BaseName}_filtered.txt" -Encoding utf8
}

注意事项

  • 关键词采用部分匹配规则(比如cryptocurren会匹配cryptocurrencies、cryptocurrency等),符合你的需求
  • 处理前建议先对单个文件测试,确认结果符合预期后再批量操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 06:30:17