Linux命令删除文件夹下的文件.保留文件夹.

路径是 var/woll/cion/?/lib我要批量删除lib目录里的所有内容(lib文件夹中可能还包含有文件夹).现在的问题是 /?/ 这个路径是不确定的.有很多个目录find /var/woll/cion/ -name lib|xargs rm -rf这样的话会把lib整个文件夹删除.有没有其他办法.求指教.
2026年09月25日 17:07
有4个网友回答
网友(1):

你可以这么写
find /var/woll/cion -path "/var/woll/cion/*/lib/*" | xargs rm -rf
就会只删除/var/woll/cion/*/lib/路径下的所有文件, 而不删除/var/woll/cion/*/lib目录本身(*表示匹配不同的目录)

网友(2):

为什么 rm -rf 呢?写一个脚本,先将 find /var/woll/cion/ -name lib 的结果输出到临时文件,然后用脚本挨个目录的走,rm -rf dir/* 就好了,你可能还需要改改 find 这里,让输出绝对路径。

网友(3):

首先你要知道 ?号是个通配符 他只能代表一个字符
你要缺德你的路径的正确性

然后执行
find 路径 -type f -exec rm -rf {}\;

不懂就问我

网友(4):

rm var/woll/cion/*/lib/* -rf