【问题标题】:how to prevent "find" from dive deeper than current directory如何防止“查找”比当前目录更深入
【发布时间】:2010-12-22 03:11:17
【问题描述】:

我有很多目录,里面有很多文件。

我刚刚把那个目录分别压缩成filename.tar.gzsomeothername.tar.gz

压缩后,我用这个 bash 删除除了文件名包含.tar.gz的所有内容:
find . ! -name '*.tar.gz*' | xargs rm -r

但问题是find 会深入目录。因为目录已经被删除了但是find会深入到每个目录中,所以会显示很多信息,比如:

rm: cannot remove `./dirname/index.html': No such file or directory

那么如何防止find比这个级别(当前目录)更深入呢?

【问题讨论】:

    标签: find rm


    【解决方案1】:

    您可以使用ls 而不是find 来解决您的问题:

    ls | grep -v .tar.gz | xargs rm -rf
    

    【讨论】:

      【解决方案2】:

      你可以告诉找到递归的最大深度:

      find -maxdepth 1 ....
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-27
        • 1970-01-01
        • 2012-02-07
        • 2011-06-16
        • 2013-06-26
        • 2012-12-27
        • 2015-12-03
        • 1970-01-01
        相关资源
        最近更新 更多