2017-11-16 10 views
0

私は現在のタイムスタンプからではなく、過去24時間のファイルを動的に検索したい場合があります。例: 現在の時刻が10.00AMだとすると、現在の午前6時から前日の午前6時までのファイルを一覧表示したいとします。現在の時刻から4時間前に戻り、24時間を探します。 私はこれをunixシステムのために探していますUnix特定の時間内にファイルを検索する

答えて

2

find論理演算子をサポートしています。これらを使用して範囲を検索することができます。また、findはデフォルトで24時間単位で検索しますが、より正確な-newerオプションがあります。次のように

私のソリューションは、次のとおりです。

  • 範囲で最新のポイントのタイムスタンプを持つファイルを作成のための範囲
  • 検索最も早い時点のタイムスタンプを持つファイルを作成します。 2番目のファイルより新しいファイルですが、最初のファイルよりも新しいファイルはありません。 Bourneシェルで

END=`date -d 6:00 +%s` # Get time of 6:00am in seconds since epoch 
touch late -d "@$END" 
START=$(($END-60*60*24)) # Subtract 24 hours 
touch early -d "@$START" 
find/-newer early -a -not -newer late 
関連する問題