在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命令?
在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命令?
当前回答
另一个:
"-exec rm -rf {} \;" can be replaced by "-delete"
find -type d -name __pycache__ -delete # GNU find
find . -type d -name __pycache__ -delete # POSIX find (e.g. Mac OS X)
其他回答
查找路径/to/the/folders -maxdepth 1 -name "my_*" -type d -delete
这也可以工作-它将删除所有名为“a”的文件夹及其内容:
rm -rf `find . -type d -name a`
结合多个答案,下面是一个在Linux和MacOS上都可以使用的命令
rm -rf $(find . -type d -name __pycache__)
find ./ -name "FOLDERNAME" | xargs rm -Rf
应该能行。警告,如果你不小心抽。或/ into xargs rm -Rf您的整个计算机将被删除,没有选项可以恢复,需要重新安装操作系统。
在使用rsync对正在进行的工作进行备份之前,我在这里试图删除node_modules文件夹。一个关键要求是node_modules文件夹可以嵌套,因此需要使用-prune选项。
首先,我运行这个来直观地验证要删除的文件夹:
find . -type d -name node_modules -prune
然后我运行这个程序将它们全部删除:
find . -type d -name node_modules -prune -exec rm -rf {} \;
多亏了开心果