我有以下目录结构:

/archive/file1.csv
/archive/file2.csv
/archive/myfile/my.txt
/archive/yourfile/your.txt

我要删除/archive下的所有文件,但不删除其子文件夹,因此删除后,目录结构应如下所示:
/archive/
/archive/myfile/
/archive/yourfile/

我尝试了以下两个命令,但是子文件夹下的文件没有被删除(即my.txt和your.txt),有人知道为什么吗?
find -L /archive ! -type d  -exec rm -rfv {} +
find -L /archive -type f  -exec rm -rfv {} +

最佳答案

使用find

$ find . ! -type d -delete

确保你走对了路。

关于linux - 如何在Linux中删除子目录下的文件但不删除子目录本身,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37310116/

10-15 01:40