-pruneと-deleteはfindコマンドと互換性がありませんか?

-pruneと-deleteはfindコマンドと互換性がありませんか?

マニュアルページには次のようfindに記載されています。

   -prune True;  if  the file is a directory, do not descend into it. If -depth is 
          given, false; no effect.  Because -delete implies -depth, you cannot 
          usefully use -prune and -delete together.

最後の文はどういう意味ですか?次のコマンドを効率的に実行できません...

find /path/ -prune -type f -ctime +15 -delete

...最後に変更されてから15日以上経過したすべてのファイルを見つけて削除します。/path/ しかし、下のサブディレクトリにはありません。 /path/?私はこれが完全に有効なユースケースだと思います。

ベストアンサー1

問題は、一緒に使用する-pruneと何の効果もないということです。-depth-delete ヒント -depth

お問い合わせいただいたユースケースでは-maxdepth X

例えば

find /path/ -maxdepth 1 -type f -ctime +15 -delete

します。

おすすめ記事