在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命令?
发布于 2012-10-23 22:29:25
如果目标目录为空,请使用find,仅筛选目录,按名称筛选,执行rmdir:
find . -type d -name a -exec rmdir {} \;
如果要递归删除其内容,请将-exec rmdir {} \;
替换为-delete
或-prune -exec rm -rf {} \;
。其他答案包括这些版本的详细信息,也归功于它们。
发布于 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命令。
发布于 2014-10-17 00:54:58
这也是可行的-它将删除所有名为"a“的文件夹及其内容:
rm -rf `find . -type d -name a`
https://stackoverflow.com/questions/13032701
复制相似问题