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

如何用单行Bash命令删除当前目录白名单模式外的所有文件

单行Bash实现方案

重要提醒:删除操作不可逆,正式执行前请务必先预览待删除列表,避免误删数据。

直接可用的命令如下:

find . -mindepth 1 -print0 | grep -z -E -v -f delete_whitelist.txt -e './delete_whitelist.txt' | xargs -0 rm -rf

逻辑说明

  • 遍历当前目录下所有文件、子目录(排除根目录自身),用\0作为分隔符处理特殊文件名,避免带空格、特殊字符的路径解析出错
  • 读取delete_whitelist.txt中定义的扩展正则规则,筛选出所有不匹配白名单规则的路径,同时强制保留白名单文件本身,防止规则文件被提前删除导致逻辑异常
  • 对筛选出的非白名单路径执行递归强制删除

预校验方法

正式删除前先执行以下命令预览待删除路径,确认结果符合预期后再执行删除命令:

find . -mindepth 1 -print0 | grep -z -E -v -f delete_whitelist.txt -e './delete_whitelist.txt' | xargs -0 echo

你给出的白名单正则示例完全兼容该命令的正则解析规则,无需额外修改即可直接使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:33:29