「x」と「y」の間に生成されたすべてのファイルを一覧表示するには? 「2014年12月29日18時」から2014年12月30日18時の間に生成されたファイルを一覧表示したいと思います。 lsまたはstatを使用しますか?
ベストアンサー1
あなたがGNU / BSDを見つけた場合、例えば、OSX、-newerBt
対応する述語を使用してファイル生成を比較できます( "第二irth") 時間と特定の時間。
find -newerBt "29-dec-2014 18:00" ! -newerBt "30-dec-2014 18:00"
これはサブディレクトリを再帰的に巡回します。現在のディレクトリのファイルだけが必要な場合は、次の手順を実行します。
find -mindepth 1 -maxdepth 1 -newerBt "29-dec-2014 18:00" ! -newerBt "30-dec-2014 18:00"
システムが作成時間を追跡しない場合は、修正時間を使用できます。-newerBt
に交換してください-newermt
。
時間ごとにファイルをフィルタリングする方法もありませんls
。stat
彼らができることはファイルのタイムスタンプをリストするだけであり、特定の時間範囲の出力をフィルタリングするのは簡単ではありません。find
作業に適したツールです。
POSIX照会あるファイルのタイムスタンプは他のファイルのタイムスタンプとのみ比較できるため、特定の時間間隔内でファイルをフィルタリングする移植可能な方法は、境界ファイルを作成することです。修正時間のみをフィルタリングでき、POSIXは生成時間を定義しません。
touch -t 201412291800 /tmp/start
touch -t 201412301800 /tmp/stop
find . -newer /tmp/start ! -newer /tmp/stop
または再発したくない場合
find . ! -name . -prune -newer /tmp/start ! -newer /tmp/stop