30分前のファイルを見つける方法は/bin/ksh
?
答え1
Linuxでは、ファイルの作成時期を追跡する方法はありません。以下にのみアクセスできます。
- コンテンツの最後の編集時間(作成ももちろん修正と見なされます)
mtime
、、 - 最後の接続時間
atime
、 - メタデータの最後の修正時刻です
ctime
。
この時間に基づいてテスト中のファイルを見つけるには、find
(man find
)が役に立ちます。
この方法では、現在のディレクトリと30分前にアクセスしたサブディレクトリにファイルを見つけることができます。
find -amin 30
通常、正確な時間(分)を提供するのは難しいので、間隔を使用する必要があります。
find -amin +25 -amin -35
これにより、25分以上前から35分以内にアクセスされたファイルが見つかります。
編集時間にのみ興味があり、アクセス(読み取りなど)時間に興味がない場合に-amin
置き換えます-mmin
。
答え2
mtime
これを行うには、次の方法を使用できます。
find . -mmin 30 #exactly 30 minutes old
答え3
いいえGNU/BSD find
TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" /reference/file
それからfind . -newer /reference/file
Stéphane Chazelasが提供するソリューション