0

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

我刚刚将该目录分别压缩为filename.tar.gz,someothername.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比这个级别(当前目录)更深?

4

2 回答 2

0

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

ls | grep -v .tar.gz | xargs rm -rf
于 2010-12-22T03:26:07.530 回答
0

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

find -maxdepth 1 ....
于 2010-12-22T03:32:19.090 回答