首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除具有特定名称的文件夹

如何删除具有特定名称的文件夹
EN

Stack Overflow用户
提问于 2012-10-23 22:26:23
回答 12查看 130.2K关注 0票数 181

在Linux中,如何删除嵌套在文件夹层次结构中的具有特定名称的文件夹?

以下路径位于一个文件夹下,我想删除所有名为a的文件夹。

1/2/3/a
1/2/3/b
10/20/30/a
10/20/30/b
100/200/300/a
100/200/300/b

我应该从父文件夹中使用什么Linux命令?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2012-10-23 22:29:25

如果目标目录为空,请使用find,仅筛选目录,按名称筛选,执行rmdir:

find . -type d -name a -exec rmdir {} \;

如果要递归删除其内容,请将-exec rmdir {} \;替换为-delete-prune -exec rm -rf {} \;。其他答案包括这些版本的详细信息,也归功于它们。

票数 205
EN

Stack Overflow用户

发布于 2012-10-23 22:28:31

使用find作为名称"a“,并执行rm来删除那些根据您的意愿命名的名称,如下所示:

find . -name a -exec rm -rf {} \;

首先使用ls来测试它:

find . -name a -exec ls {} \;

要确保这只会删除目录而不是普通文件,请使用"-type d“参数(如注释中所建议的):

find . -name a -type d -exec rm -rf {} \;

"{}“是对找到的每个文件"a”的替换-通过替换对每个文件执行exec命令。

票数 196
EN

Stack Overflow用户

发布于 2014-10-17 00:54:58

这也是可行的-它将删除所有名为"a“的文件夹及其内容:

rm -rf `find . -type d -name a`
票数 72
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13032701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档