1分以上経過したファイルをすべて検索

1分以上経過したファイルをすべて検索

find過去 1 分間に書き込まれ、変更されていないファイルを選択するにはどうすればよいですか?

逆のこともでき、 を使って過去 60 秒間に変更されたファイルを検索できます-mtime -60sが、私が探したいのは過去 60 秒間に変更されていないファイルです。

私は Linux を使用していますが、秒数を使用すると次のエラーが発生します。

find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'

答え1

使用find /path -type f -mtime +60s

-数字の直前の は通常の「引数ダッシュ」ではなく、「より小さい」という意味です。は+「より大きい」という意味です。

からman find

数値引数を取るすべてのプライマリでは、数値の前にプラス記号 (``+'') またはマイナス記号 (``-'') を付けることができます。プラス記号が前にある場合は ``n より大きい'' を意味し、マイナス記号が前にある場合は ``n より小さい'' を意味し、どちらも ``n とまったく同じ'' を意味するわけではありません。

注目すべきは、正確にn時間は丸められます。したがって、1(1 日) は 86400 秒を意味するわけではありません。

答え2

find . -type f -mmin +1

$ ls *
four.txt  one.txt  three.txt  two.txt

$ touch foo && find . -mmin +1
.
./three.txt
./four.txt
./two.txt
./one.txt

答え3

2番目--mtime -60sないオプションの区切り文字。

-mtimeはオプションであり、その後にオプション引数オプション引数は であり-60s-その中の はオプション引数自体の一部です。ないオプションの区切り文字。これは「60 秒未満」を意味します。オプションの引数60sと は+60sそれぞれ「60 秒に等しい」と「60 秒より大きい」を意味します。

Apple MacOS マニュアルと FreeBSD マニュアルでは、+および-プレフィックスが 1 か所でのみ言及されており、それが何であるかはどこにも説明されていません。これがプレフィックスです。

find(興味深いことに、GNU の GNU Info マニュアルにも同様の省略があります。ただし、GNUfindの時刻の構文は、BSD や MacOS のfind構文とは多少異なります。)

参考文献

答え4

Unix システムでは、-mtime の後に +/- が続き、その後に数字が続き、その後に時間の単位が続きます。[+-]nn[dms]

Linux では、日数には mtime、分数には mmin を使用しますが、秒数オプションはなく、時間単位指定子も使用しません。+ または - は、前述のオプション引数ではなく、依然として時間より大きいか小さいかを示します。

-mmin 1を使用することもできますが、https://unix.stackexchange.com/questions/238738/find-files-newer-than-15-seconds-but-older-than-2-seconds一般的な秒の処理方法について説明します。

関連情報