OS X 通过名称中带有空格的文件夹递归查找和 RM?

OS X 通过名称中带有空格的文件夹递归查找和 RM?

WD My Cloud NAS 向每个带有 jpg 的文件夹添加了隐藏的 .wdmc 文件夹,而没有事先通知或询问我。我的 NAS 驱动器上有数百个文件夹。这与他们的媒体服务器有关,但我从未打开该功能。这些文件夹中塞满了数据,使我的备份和磁盘空间使用量膨胀。它们必须被删除,但它们遍布整个磁盘,有时甚至深入目录结构内部。

我在 Superuser.com 上找到了这个建议,在终端中运行它,它似乎花了一整晚的时间删除这些文件夹。但是,它并没有删除目标文件夹或其中的数据。

$ find . -type d -name '.wdmc' -print -exec echo rm -rf {} \; 

我也发现了这一点,但它只适用于名称中没有空格的文件夹:

rm -rf `find . -type d -name .wdmc`

路径中一定有某种方法来转义文件夹名称中的空格?

答案1

版本 2(通过 管道xargs

man在页面中搜索find例如参见此处print0)我找到了一个使用选项并将xargs目录名称传输到的解决方案rm

$ find . -type d -name '.wdmc' -print0 | xargs -0 rm -rf

这也适用于包含空格或其他非 ASCII 字符的目录名称。

版本 1(仅适用于空的 .wdmc 目录)

或者,您也可以使用以下-delete选项find

$ find . -type d -name '.wdmc' -delete

答案2

你有没有尝试过:

$ find . -type d -name '*.wdmc' -print -exec echo rm -rf "{}" \; 

我在我的 Mac 上用 ls 而不是 rm 进行测试,它可以正常工作。

答案3

您也可以使用查找器应用程序。

右上角有一个搜索栏,只需输入 *.wdmc。

默认情况下,搜索范围是整个 Mac,但你可以在开始搜索时更改它。切换到当前文件夹,如果你在最顶层目录中,finder 将递归搜索此文件夹中的所有文件

然后你可以用 command+a 标记它们并删除它们

相关内容