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

如何批量删除文本文件中<开头到>结尾区间的所有内容?

批量删除文本中<到>区间内容的实现方案

方案1:Python跨平台实现(兼容性最高,全系统通用)

  • 将以下代码保存为clean_tags.py,放在存储文本文件的文件夹根目录
  • 代码默认仅处理.txt后缀的文件,会自动将原文件备份为原文件名.txt.bak,避免误操作丢失数据
import os
import re

# 配置项:可根据需求修改
TARGET_SUFFIX = '.txt'
ENABLE_BACKUP = True

for filename in os.listdir('.'):
    # 跳过备份文件和非目标后缀文件
    if not filename.endswith(TARGET_SUFFIX) or filename.endswith('.bak'):
        continue
    # 读取完整文件内容
    with open(filename, 'r', encoding='utf-8', errors='ignore') as f:
        content = f.read()
    # 非贪婪匹配所有<开头>结尾的区间内容并删除,支持跨行匹配
    cleaned_content = re.sub(r'<.*?>', '', content, flags=re.DOTALL)
    # 备份原文件
    if ENABLE_BACKUP:
        os.rename(filename, f"{filename}.bak")
    # 写入清理后的内容
    with open(filename, 'w', encoding='utf-8') as f:
        f.write(cleaned_content)
  • 运行方法:在当前文件夹打开终端,执行命令 python clean_tags.py 即可

方案2:Linux/Mac 终端单行命令(无需写脚本,处理速度快)

直接在目标文件夹的终端执行以下命令,会自动批量处理所有txt文件,原文件备份为.bak格式:

perl -0777 -i.bak -pe 's/<.*?>//g' *.txt

方案3:Windows PowerShell 单行命令

打开PowerShell,切换到目标文件目录后执行以下命令即可批量处理,建议先备份少量文件测试效果:

Get-ChildItem *.txt | ForEach-Object { $content = Get-Content $_.FullName -Raw; $content = $content -replace '<.*?>', ''; Set-Content $_.FullName -Value $content }

注意:如果需要处理.txt之外的其他文本格式,修改对应方案中的后缀匹配规则即可。首次运行前建议先拷贝2-3个测试文件验证清理效果,确认符合预期后再全量执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:36:04