如何仅删除目录的内容?

如何仅删除目录的内容?

我在一个文件夹中:/var/myfolder.

里面还有一些其他文件夹,例如:/var/myfolder/A/ /var/myfolder/B/ `/var/myfolder/C/等。

每个里面都有一些具有随机名称的文件。如何删除里面所有文件夹中的所有文件/var/myfolder

结构(内部的所有目录,例如 A、B、C 等/var/myfolder)应保持不变。

答案1

尝试:

find /var/myfolder -type f -delete

这将获取 /var/myfolder 下的所有常规文件并删除它们,只留下目录。

答案2

对于 zsh,使用. 全局限定符仅匹配常规文件:

rm -- **/*(.)

这将递归删除当前目录及其子目录中的所有(非隐藏)常规文件。添加Dglob 限定符也可以删除隐藏的常规文件(以及隐藏目录中的常规文件)。

答案3

你可以跑rm */*进去/var/myfolder

答案4

rm var/myfolder/*/*

将删除子文件夹内的所有内容,而不触及子文件夹本身。

第一个*是其自身的子目录myfolderA, B, ...)。第二个是针对、等*中的文件。AB

如果里面有更多文件夹AB等等。首先运行: rm /var/myfolder/*/*/*然后运行rm /var/myfolder/*/*

相关内容