这在帖子中出现了很多次,所以我提到它对于stackoverflow上所有乐于助人的人来说都是谢谢。
你有没有想过在Unix中从命令行/终端做一堆删除?也许你使用了类似的结构
find . -name '*.pyc' -exec rm {} \;
寻找一个优雅的方法来回答这个问题。
以下是使用-delete
选项的方法!
使用find命令选项-delete
:
find . -name '*.pyc' -delete
当然,如果没有-delete
,请尝试干运行,看看你是否要删除你想要的东西!那些电脑确实运行得那么快! ;-)
+1主动并自己找到问题的解决方案。一些相当小的笔记:
当你想要删除文件时,我建议养成使用-type f
标志的习惯。这将find
限制为实际文件(即不是目录或链接)的文件。否则,您可能会无意中删除目录,这可能不是您想要做的。 (也就是说,除非你有一个名为'something.pyc'的目录,否则这对你的示例命令来说不是问题。一般来说这只是一个好习惯。)
另外,只是为了让您知道,如果您决定使用-exec rm..
版本,如果您这样做,它会运行得更快:
find . -type f -name '*.pyc' -exec rm {} \+
这个版本为qazxsw poi的单个调用添加了尽可能多的参数,从而减少了对qazxsw poi的调用总数。它的工作原理与rm
中的默认行为非常相似。