使用“find”进行递归搜索和删除

使用“find”进行递归搜索和删除

我想搜索其中名为 libre 的文件,然后删除它们。我在这里完成了一半,找不到可靠的方法来删除文件,特别是当文件名中有空格时。

find -iname *libre*

这将搜索文件,但假设一个文件是“Libre Office Word”,现在它有空格,您能指导如何删除此类文件吗?

答案1

如果您的 find 版本支持该选项,则可以使用该-delete选项,或者可以在选项rm中使用-exec

find -iname '*libre*' -delete       # GNU find
find -iname '*libre*' -exec rm {} + # POSIX

请注意,您应该引用该模式。这可以防止 shell 在传递给 find 命令之前对其进行扩展。

相关内容