求助:跨目录保留指定文件夹并删除其余的单行命令
单行命令实现批量保留指定文件夹并删除其余内容
可以用find命令结合rm完成这个批量操作,命令如下(记得替换/path/to/firstlevel/output为你的实际路径):
find /path/to/firstlevel/output/sub-* -maxdepth 1 -type d ! -name "run_1++.feat" ! -name "run_2++.feat" -exec rm -rf {} +
命令各部分说明:
/path/to/firstlevel/output/sub-*:定位到所有sub-XXX文件夹的父目录,匹配所有以sub-开头的子文件夹-maxdepth 1:限制搜索深度为当前目录,避免误删目标文件夹内部的内容-type d:仅匹配文件夹类型的条目! -name "run_1++.feat"和! -name "run_2++.feat":排除需要保留的两个文件夹-exec rm -rf {} +:对所有匹配到的待删除文件夹执行递归删除操作(-rf确保删除文件夹及其内部所有内容)
注意:执行删除命令前建议先去掉
-exec rm -rf {} +,加上find /path/to/firstlevel/output/sub-* -maxdepth 1 -type d ! -name "run_1++.feat" ! -name "run_2++.feat" -print
内容的提问来源于stack exchange,提问作者jo_
相关产品推荐
相关产品推荐

