x時間後にファイルを削除しますが、隠されたフォルダ/ファイルは無視します。

x時間後にファイルを削除しますが、隠されたフォルダ/ファイルは無視します。

Seedboxにフォルダをインストールしました。フォルダは同期を使用します。したがって、同期用に「.stfolder」が生成されます。デフォルトでは、「xフォルダとxxサブフォルダの表示」というスクリプトが見つかりませんが、隠しフォルダを無視してxxx時間より古いすべてのアイテムを削除します。

" find /path/to/files* -mtime +5 -exec rm {} ; " を修正しようとしましたが、成功しませんでした。隠しフォルダを探し続けます。

フォルダ構造は次のとおりで、ファイルとサブフォルダが
downloads/Movies/.stfolderあります。downloads/TV/.stfolderTVMovies

結局ラズベリーパイ4で実行するようになりました。私の意図は、クローンジョブを使用して12時間ごとに実行されるスクリプトを呼び出すことです。 curftpfsを使用してrasperrypi 4にシードボックスを取り付けました。

すべての作業ソリューションに感謝します。ありがとう

ベストアンサー1

LC_ALL=C find /path/to/files/ -name '.*' -prune -o \
  -mtime +5 -type f -exec rm -f {} +

/path/to/files過去 6 日 (5 日ではない) の間、変更されていないディレクトリおよびそのサブディレクトリの通常のファイルが削除され、隠されたファイル (findディレクトリツリーの下の非表示のディレクトリから削除されたファイルを含む) も削除されます。

.stfolderスキップしたいディレクトリの場合は、次のことができます。

find /path/to/files/ -name .stfolder -type d -prune -o \
  -mtime +5 -type f -exec rm -f {} +

LC_ALL=C(この場合は不要です。これは、一部の実装では、文字ではなく文字間に矛盾があるという事実を説明するためだけです。)*find

を使用すると、zsh次のことができます。

rm -f /path/to/files/**/*(.m+5)

隠しディレクトリ/ファイルは基本的にスキップされるからです。

または、ディレクトリ内または下のファイルを除くすべての古いファイルの場合.stfolder

set -o extendedglob # best in ~/.zshrc
rm -f /path/to/files/(^.stfolder/)#*(D.m+5)

D隠しファイル/ディレクトリのスキップを無効にし、(^.stfolder)#呼び出しサブディレクトリ以外のすべてのサブディレクトリと一致します.stfolder)。

おすすめ記事