Mac终端如何安全批量将同名前缀文件移入废纸篓
Mac终端安全批量移动同前缀文件到废纸篓
报错原因
执行find ~/Desktop -type f -name "Screenshot*" -trash时报find: -trash: unknown primary or operator,是因为macOS自带的find工具没有内置-trash参数,无法直接识别通过Homebrew安装的第三方trash指令。
实现方案
方案1:find + trash(适配任意文件数量)
通过find的-exec参数调用已安装的trash工具,匹配到的文件会和手动移入废纸篓的效果完全一致,不会触发永久删除,支持任意量级的文件匹配:
- 先执行预检查,确认匹配范围正确,避免误操作:
该命令会列出所有符合命名规则的文件,核对列表内容全为需要处理的截图后再执行下一步。find ~/Desktop -type f -name "Screenshot*" -print - 执行批量移入废纸篓操作:
参数说明:find ~/Desktop -type f -name "Screenshot*" -exec trash {} +-type f:仅匹配普通文件,自动跳过同名文件夹{}:占位符,代表find匹配到的每一个文件路径- 末尾的
+:将所有匹配到的文件批量传入trash命令,执行效率更高
方案2:Shell通配符(适合日常少量文件场景)
Mac终端默认使用zsh作为shell,日常桌面存储的截图数量通常不会触及命令行参数长度上限,可以直接用更简短的通配符写法:
- 预检查匹配文件列表:
ls ~/Desktop/Screenshot* - 核对列表无误后执行移入操作:
trash ~/Desktop/Screenshot*
注意事项
不要直接使用find ... -delete参数执行删除,该操作会绕过废纸篓直接永久删除文件,误删后恢复难度极高。
内容的提问来源于stack exchange,提问作者Ka Kin Li
相关产品推荐
相关产品推荐

