すべてのサブディレクトリのファイルを一覧表示し、最後の 5 つを非表示にして残りを削除する次のファイルを見つけました。
find -type f -printf '%T@ %P\n' | sort -n | cut -d' ' -f2- | head -n -5 | xargs rm
残念ながら、サブディレクトリの数がわからない場合、正しい数のファイルが削除されません。各ディレクトリを横断して、各サブディレクトリ内の最新のファイル以外をすべて削除する方法はありますか?
ディレクトリ構造は次のようになります。
-> ベースディレクトリ -> 親ディレクトリ -> 子ディレクトリ