30日以内に変更されたファイルを含むサブディレクトリを含むすべての最上位ディレクトリを一覧表示するスクリプトまたはコマンド

30日以内に変更されたファイルを含むサブディレクトリを含むすべての最上位ディレクトリを一覧表示するスクリプトまたはコマンド

これはとてもユニークです。

30日以内に、新しいファイルまたは変更されたファイルを含むサブディレクトリを含むフォルダ内のすべての最上位ディレクトリを一覧表示する方法を探しています。

レプリケーション方法を使用してユーザーファイルを中央リポジトリに同期し、先月にどのユーザーがファイルを同期したかを監視する方法を探しています。これにより、存在しない問題を解決できます。

"find . -type d -mtime -30"を使用しましたが、これはすべてのサブフォルダを一覧表示し、出力が大きすぎて簡潔な画像を提供することはできません。

どんな助けでも大変感謝します。

ベストアンサー1

私はfind各ディレクトリを順番にインポートし、パイプを介してディレクトリがgrep -q .存在することを確認します。どの結果があるかどうかに応じて、条件付きでディレクトリ名を印刷します。

for d in */; do find "$d" -type f -mtime -30 | grep -q . && printf %s\\n "$d"; done

おすすめ記事