我希望能够递归删除某些文件夹中除了具有 .gz 扩展名之外的所有文件。通常我会使用
find /thepath -name "foo" -print0 | xargs -0 rm -rf
我希望能够递归删除/thepath目录下所有名为"foo"的文件夹。但现在我想添加一个排除选项。这可能吗?
例如,文件夹结构如下:
.hiddenfolder
.hiddenfolder/bin.so
arc.tar.gz
note.txt
sample
我想删除所有东西,但保留arc.tar.gz
find
实用程序也有-delete
选项,我个人认为使用起来很方便。我喜欢 @grebneke 添加了最后一行代码,他检查了空目录。 - alvits-exec
来列出或删除文件... 大多数版本支持以+
而不是\;
结尾以传递多个参数。此外,-empty
在Solaris上不可移植(我通常只是尝试rmdir并让它为非空目录生成错误信息...)。 - Gert van den Berg