X日より古いすべてのファイルとすべての空のフォルダ(linux / bash)を削除します。

X日より古いすべてのファイルとすべての空のフォルダ(linux / bash)を削除します。

すべてのファイルを再帰的に削除します。

$ find . -type f -name "*.*" -daystart -mtime +100 -exec rm -rf {} \;

以下はすべての空のフォルダです。

$ find . -type d -empty -delete

これは、100日より古いファイルが含まれている可能性がある100日より古いフォルダを削除したくないためです。

しかし、これを行うためのよりきれいな方法はありますか?それとも私が何かを間違って理解していますか?

答え1

2つのコマンドを1つにまとめます。

find /some/path -depth \( \( -type f -daystart -mtime +100 \) -o -type d -empty \) -ls
  • 今日から100日以上前に最後に変更されたすべての一般ファイルを削除することです。
  • さらに、すべての空のディレクトリ。

削除したいファイル/ディレクトリを確認して置き換えます-ls-delete何を削除するか、どのパスから削除するかを注意深く見てください。

関連情報