如何防止潜水深度超过当前目录“查找”

时间:2010-12-22 03:11:17

标签: find rm

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

我刚刚压缩了该目录,分别变为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深入深入此级别(当前目录)?

2 个答案:

答案 0 :(得分:0)

您可以使用ls代替find解决您的问题:

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

答案 1 :(得分:0)

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

find -maxdepth 1 ....