サブディレクトリを無視し、特定のディレクトリでx時間より古いファイルを見つけます。

サブディレクトリを無視し、特定のディレクトリでx時間より古いファイルを見つけます。

私の設定は次のとおりです。

フォルダ構造

dir
 |--correctfile1
 |--correctfile2
 |--correctfile3
 |--subdir1
   |--wrongfile1
   |--wrongfile2
   |--wrongfile3
 |--subdir2
 |--subdir3

dirその中に3分より古いファイルがあるかどうかを調べる必要があります。つまり、フォルダを無視しsubdir1, subdir2 and subdir3てホームディレクトリでのみ検索する必要があります。dir

私は次の行を持っています

find $dir -mmin +3 -type f

しかし、これはsubdir1のファイルも印刷します。

追加情報:

オペレーティングシステム5.3

-maxdepthfindコマンドには、、、またはオプションはありませ-mindepthん。-or-not-path


マンページ:http://textuploader.com/oe0r

ベストアンサー1

再帰を防ぐ移植可能な方法は、find最上位ディレクトリ以外のディレクトリで作業を実行することです。-prune

find "$dir" \! -name "$(basename -- "$dir")" -type d -prune -o -mmin +3 -type f -print

おすすめ記事