1

我正在使用以下命令删除名为“Test Folder”的文件夹中的每个“.dummy”目录:

rm -rf `find "Test Folder" -type d -name .dummy`

但是,这不起作用,因为它扩展为:

rm -rf Test Folder/.dummy

由于没有转义空格,因此失败。

我也尝试过这样的事情:

find "Test Folder" -type d -name .dummy -exec rm -rf {} \;

它有效,但它给出了一个恼人的错误,如下所示:

find: Test Folder/.dummy: No such file or directory

有没有办法使任何一种解决方案都能成功?

4

3 回答 3

9

有几件事。最简单的就是改变和使用

$ find 'Test Folder' -type d -print0 | xargs -0 rm -rf

另一种选择是

$ find 'Test Folder' -type d -exec \'{}\' \;
于 2009-01-08T02:03:48.550 回答
2

尝试

find "Test Folder" -type d -name .dummy -exec rm -rf \"{}\" \;

请注意选项中rm -rf "{}"arg 中的额外引号。-exec它们是必需的,因为名称Test Folder/.dummy中有一个空格。所以你需要报价。

于 2009-01-08T02:02:31.283 回答
2

找到“测试文件夹”-type d -name '.dummy' -delete

于 2009-04-18T17:36:37.573 回答