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

Linux下批量保留指定目录含特定字符串的文件并删除其余文件

高效批量处理方案:一键清理所有Math目录中不含'pass'的文件

不用逐个钻进每个student的Math目录重复操作,直接在./class主目录下跑一条递归命令就能搞定,完美适配你的场景:

核心命令

find ./class -path "*/Math/*" -type f -print0 | xargs --null grep -Z -L 'pass' | xargs --null rm

命令拆解(帮你搞懂每一步的作用)

  • find ./class -path "*/Math/*" -type f:从./class根目录开始递归扫描,只筛选路径中包含/Math/的文件,精准命中所有student子目录下的Math文件夹内容,完全不会碰history、geography里的文件。
  • -print0 + xargs --null:专门处理文件名含空格、特殊字符的极端情况,避免命令执行时出错或误删文件。
  • grep -Z -L 'pass':-L参数会列出不包含字符串'pass'的文件,-Z继续用null分隔符传递结果,保证和前后命令兼容。
  • xargs --null rm:最终把所有筛选出来的不含'pass'的Math文件批量删除。

安全建议:先测试再执行

为了避免误操作,建议先把rm换成echo,预览一下将要被删除的文件列表,确认无误后再执行删除命令:

find ./class -path "*/Math/*" -type f -print0 | xargs --null grep -Z -L 'pass' | xargs --null echo

这样一套操作下来,100个student目录的Math文件夹一次性处理完毕,效率直接拉满!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:32:36