touch
のため、これは少し遠回りです。 生の time_t
を取りません 価値がありますが、スクリプトでかなり安全に仕事をするはずです。 (-r
date
へのオプション MacOS X に存在します。私は GNU を再確認していません。) touch
に直接コマンド置換を記述することで、'time' 変数を回避できます。 コマンドライン。
time=$(date -r 1312603983 '+%Y%m%d%H%M.%S')
marker=/tmp/marker.$$
trap "rm -f $marker; exit 1" 0 1 2 3 13 15
touch -t $time $marker
find . -type f -newer $marker
rm -f $marker
trap 0
次の例を使用して、前日に作成/変更されたすべてのファイルを見つけることができます:
find /directory -newermt $(date +%Y-%m-%d -d '1 day ago') -type f -print
先週のすべてを検索するには、「1 週間前」または「7 日前」を使用します。
たぶん誰かがそれを使うことができます。特定の時間枠内に変更されたすべてのファイルを再帰的に検索し、実行するだけです:
find . -type f -newermt "2013-06-01" \! -newermt "2013-06-20"