我有很多目录,里面有很多文件。
我刚刚压缩了该目录,分别变为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
深入深入此级别(当前目录)?
答案 0 :(得分:0)
您可以使用ls
代替find
解决您的问题:
ls | grep -v .tar.gz | xargs rm -rf
答案 1 :(得分:0)
你可以告诉我找到最大的递归深度:
find -maxdepth 1 ....