传递多个目录以在 Mac 中查找以删除 .DS_Store 文件

传递多个目录以在 Mac 中查找以删除 .DS_Store 文件

我有一个定义的目录列表,其中包含开发代码,我想确保任何.DS_Store文件永远不存在,或者在创建后不久被删除。

我将通过以下方式执行此操作crontab,但如果可能的话,我想立即传递所有上述目录,而不是运行多个crontab函数。

在我的crontab

15 * * * * root find /Users/vince/directories -name “.DS_Store” -depth -exec rm {} \;

directories上面我想通过CodeSites还有其他几个。

我怎样才能做到这一点?

答案1

  • 用户的个人 crontab 的第六个字段不应该有用户名(你的root那里有)。如果您希望 root 用户运行该作业,请使用 将作业添加到 root 的 crontab 中sudo crontab -e

  • find实用程序采用顶级搜索路径列表:

    find /some/path/a /some/path/b /other/path ...expression...
    
  • "..."在 shell 中使用直引号 ( ),而不是花哨的或印刷的引号 ( “...”)。您引用的字符串 ,.DS_Store不需要引用。

  • findmacOS 上的实用程序有,-delete这意味着-depth.

  • vince可以使用 来引用特定用户的主目录~vince

考虑到上述几点,您最终可能会得到如下所示的时间表:

15 * * * * find ~vince/Code ~vince/Sites ~vince/"other dir" -type f -name .DS_Store -delete

相关内容