find. mtime と mmin
TODO: いつもわからなくなるので整理する
Linux
bash
find . -type f -name '*.log' <ここにmminとか入れる>
まず
意味 | オプション | メモ |
---|---|---|
-mtime | N 日を指定 | -mday ではない |
-mmin | N 分を指定 | -mmax とかはない |
意味 | オプション | メモ |
---|---|---|
.. N+1 日前 | -mtime +N | 昔ぶん全部 |
N+1 日前 .. N 日前 | -mtime N | 1日分 |
N 日前 .. | -mtime -N | 未来ぶん全部。 マイナスつけたほうが未来である |
- daystart ありの場合はその日の 0 時から。なしの場合は 現在時刻から。
- daystart は mtime とか mmin の前に書く。
範囲を指定する場合は複数指定
例:1時間前から3時間前
bash
mmin -180 -mmin +60
※ 確認用コマンド
- テストデータ(ダミーファイル)つくる
bash
for N in `seq 0 10`
do
DT=`date -d "$N days ago" +%Y%m%d`
for TM in 000000 120000 235959
do
touch -t $DT`echo $TM | perl -pe 's/(....)(..)/\1.\2/'` ${DT}_${TM}.txt
done
done
- テストするコマンド
bash
find . -type f -name '2*.txt' <ここにmminとか入れる> | xargs -r ls -l --time-style=full-iso