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

再帰する最大の深さを見つけるように指示できます。

find -maxdepth 1 ....
于 2010-12-22T03:32:19.090 に答える
0

ls問題の代わりに使用できfindます:

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