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

如何在多个文件中批量搜索并删除匹配关键词的多行内容

可以实现,以下是不同系统环境下可直接使用的操作方案:

方案1:Linux/macOS 环境

基于find+sed实现,处理3000份以上文件仅需数秒,性能最优:

  • 正式操作前务必先对所有文件做完整备份,避免误删数据不可逆
  • 如果你需要处理指定后缀的所有文件(例如全部为.txt格式),将下方命令中的参数替换为实际值后直接执行即可:
    find /替换为你的文件根目录路径 -type f -name "*.txt" -exec sed -i '/替换为你的目标关键词或语句/d' {} \;
  • 若需要忽略大小写匹配,将sed参数调整为sed -i '/替换为你的目标关键词或语句/Id'即可
  • 匹配内容包含*、/等特殊符号时,需要在符号前加转义符\识别
方案2:Windows 环境

无需安装额外软件,直接使用系统自带PowerShell即可实现:

  • 操作前同样先完成所有文件的备份
  • 打开PowerShell,切换到文件所在的根目录,执行以下代码:
# 替换为你要删除的目标关键词/语句
$targetStr = "你的目标关键词或语句"
# 替换为你要处理的文件后缀,示例为所有txt文件
$fileList = Get-ChildItem -Path ".\" -Filter "*.txt" -Recurse -File

foreach ($file in $fileList) {
    # 过滤不含目标内容的行后写回原文件
    (Get-Content $file.FullName) | Where-Object { $_ -notlike "*$targetStr*" } | Set-Content $file.FullName
}
  • 若需要使用正则匹配规则,将-notlike改为-notmatch即可
注意事项
  • 全量执行前,建议先选取1-2个测试文件验证匹配和删除结果是否符合预期,确认逻辑无误后再批量操作
  • 若文件编码为GBK、GB2312等非UTF-8格式,需要在读写命令中补充指定编码参数,避免出现文件乱码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:36:07