CodingCosmonaut Asked: 2017-12-28 09:28:51 +0800 CST2017-12-28 09:28:51 +0800 CST 2017-12-28 09:28:51 +0800 CST 如何使用bash删除目录中的所有文件夹? 772 基本上,我想删除所有子文件夹,但保留所有文件不变。例如: Folder1/ randomStuff/ nope.txt installer.jar build.sh 我想删除 randomStuff 及其文件,但保持 installer.jar 和 build.sh 完好无损。 bash directory 3 个回答 Voted Best Answer wyrm 2017-12-28T09:36:15+08:002017-12-28T09:36:15+08:00 使用以斜杠结尾的文件名始终指的是目录,而不是常规文件这一事实。 命令 rm -r -- ./*/ 将完成您所描述的。 George Udosen 2017-12-28T09:38:29+08:002017-12-28T09:38:29+08:00 尝试这个: find Folder1/* -type d -exec rm -rf {} + 这将搜索该目录中的文件夹并rm -rf在找到的每个文件夹上运行该命令。 Praveen Kumar BS 2017-12-28T21:00:23+08:002017-12-28T21:00:23+08:00 我使用 awk 命令来实现相同的目的。 ls -ltr | awk '$1 ~ "^dr"{print "rm -rvf" " " $9}’ | sh
使用以斜杠结尾的文件名始终指的是目录,而不是常规文件这一事实。
命令
将完成您所描述的。
尝试这个:
这将搜索该目录中的文件夹并
rm -rf
在找到的每个文件夹上运行该命令。我使用 awk 命令来实现相同的目的。