用 find -exec 批量处理匹配的文件

find -exec 把每个搜索结果变成另一条命令的参数,可以替代脆弱的 shell 循环和 xargs 管道,比如删除目录树中所有 .DS_Store 文件。

macOS清理执行find 文件查找高风险
运行 `find . -name "*.tmp" -exec rm {} +` 即可删除当前目录下所有匹配的文件。

01命令

命令
$ find . -name "*.tmp" -exec rm {} +
find . -name "*.DS_Store" -type f -exec rm -v {} \;

02作用说明

{} 占位符会被替换为找到的路径,结尾符号很关键:\; 对每个文件执行一次命令,而 + 会把多个文件合并进一次调用,对 rm 来说速度提升显著。更现代的替代是 find 自带的 -delete,但当命令需要路径之外的其他参数时仍然必须用 -exec。

03风险

风险高风险
!注意: -exec rm 没有废纸篓也没有确认——一个写错的 -name 模式会瞬间删错文件;先单独运行 find 预览匹配结果。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

最后验证: 2026-09-17 · 分类: 文件与文件夹

06相关方案