web-dev-qa-db-ja.com

find -mminを使用して、将来の変更時刻のあるファイルを検索します

使うことができます

find . -mmin -5

過去5分間に変更されたファイルを検索します。ただし、将来、負の数を指定して変更時刻のあるファイルを見つけようとすると、findはそれを拒否します。

find . -mmin --1

標準のLinux findに将来の変更時間を与える方法はありますか?

9
Muxecoid

少なくとも5日後に変更されたファイルを見つけるには、次を使用します。

find . -newermt "5 days"

時間指定の構文は、date -dの構文に対応しています。詳細については、man findという名前のスイッチに関する情報について、-newerXYを参照してください。

使用することはできません。 -mminこれを行うには。これは GNU find に対するバグとして報告されており、上記で示したようにfindutils 4.3.3(〜2007)に-newerXYを実装することで解決しました。


どうやらそれは使用されたGNU findではなく、BusyBoxでした。

次に、touch -dと将来の日付を使用して一時ファイルを作成し、次にfind-newerスイッチを使用できます。

touch -d "+5 days" tmpfile
find . -newer tmpfile

BusyBox touchはその日付形式をサポートしていませんが、原則は同じであり、そのfind-newerをサポートしています。正しい日付で参照ファイルを作成することは、読者の練習問題として残しておきます(常に書くのに便利です)。

9