Linux 如何删除所有以公用字母开头的特定目录?

Linux 如何删除所有以公用字母开头的特定目录?,linux,bash,Linux,Bash,我需要删除文件夹中的许多EC2实例。使用-delete无效,因为目录不是空的。我试图寻找一种让-rmdir-f工作的方法,但没有成功。实例文件夹都以“i-”开头,这使我添加了通配符“i-*”,这样可以删除所有以这些字符开头的目录。我怎样才能做到这一点?目录也永远不会为空。假设您当前的目录是有问题的文件夹,那么: find . -type d -name 'i-*' 如果列出了要删除的目录,请将其更改为: find . -type d -name 'i-*' -exec rm -r {} \;

我需要删除文件夹中的许多EC2实例。使用
-delete
无效,因为目录不是空的。我试图寻找一种让-rmdir-f工作的方法,但没有成功。实例文件夹都以
“i-”
开头,这使我添加了通配符
“i-*”
,这样可以删除所有以这些字符开头的目录。我怎样才能做到这一点?目录也永远不会为空。

假设您当前的目录是有问题的文件夹,那么:

find . -type d -name 'i-*'
如果列出了要删除的目录,请将其更改为:

find . -type d -name 'i-*' -exec rm -r {} \;

我是否只是用我的
/path/to/dir
替换
?在任何带有GNU find的发行版上,
-exec{}+
将比
-exec{}更有效,因为后者为每个匹配生成一个进程。@notaproatbash是,您可以这样做,也可以将cd复制到目录中。