nig*_*ler 2 find rm whitespace
我想搜索其中包含名称 libre 的文件,然后删除它们。我在这里完成了一半并且找不到删除文件的可靠方法,尤其是当文件名中有空格时。
find -iname *libre*
Run Code Online (Sandbox Code Playgroud)
这将搜索文件,但假设一个文件是“Libre Office Word”,现在它有空格,你能指导如何删除这些文件吗?
您可以使用-delete
,如果你找到的版本支持的选项,或者您可以使用rm
的-exec
选项。
find -iname '*libre*' -delete # GNU find
find -iname '*libre*' -exec rm {} + # POSIX
Run Code Online (Sandbox Code Playgroud)
请注意,您应该引用该模式。这可以防止 shell 在传递给 find 命令之前扩展它。