X時間からY時間までのファイルのリスト

X時間からY時間までのファイルのリスト

「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

時間ごとにファイルをフィルタリングする方法もありませんlsstat彼らができることはファイルのタイムスタンプをリストするだけであり、特定の時間範囲の出力をフィルタリングするのは簡単ではありません。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

おすすめ記事