如何以递归方式删除UNIX上目录中的所有隐藏文件?

Sha*_*Cop 26 unix macos shell

我一直在寻找,但似乎无法得到一个简洁的解决方案.我有一个Mac文件夹,我想要清除所有隐藏的文件/目录 - 任何隐藏的东西.它曾经是一个带有很多.metadata/.svn东西的Eclipse工作区,我很好,所有这些都被删除了.我该怎么做(使用shell脚本,Applescript等).非常感谢提前!

jmq*_*jmq 49

find . -name ".*" -print

我不知道MAC OS,但这就是你在大多数*nix环境中找到它们的方法.

find . -name ".*" -exec rm -rf {} \;

摆脱它们... 首先找到并确保列表是你想要的,然后再删除它们.

第一个"."意味着来自您当前的目录.另请注意,第二个".*"可以更改为".svn*"或任何其他更具体的名称; 上面的语法只是找到所有隐藏文件,但你可以更有选择性.我一直使用它来删除旧代码中的所有.svn目录.

  • 这将尝试删除当前目录(名为`.`). (8认同)
  • `找到.-name".*.*" - print`将找到文件名中至少有一个点的任何文件. (2认同)

Pau*_*ce. 12

您需要非常小心并测试您使用的任何命令,因为您可能不想删除当前目录(.),父目录(..)或所有文件.

这应该只包括以点开始,并排除文件和目录....

find . -mindepth 1 -name '.*' -delete
Run Code Online (Sandbox Code Playgroud)


mam*_*uso 5

rm -rf `find . -type f -regex '.*/\.+.+'`
Run Code Online (Sandbox Code Playgroud)

如果要删除目录,请更改-type f-type d.

如果要删除文件和目录,请删除 -type f