ディレクトリ(以下のすべてのディレクトリを含む)で最も古いファイルを見つける最も安い方法は何ですか?ディレクトリがSANによってサポートされ、負荷が高いと仮定します。
過負荷状態で「ls」がロックされ、システムの性能が低下する恐れがあります。
編集:Findは簡単なテストケースで非常によく行われました。 SSDドライブの400GBファイルの中で最も古いファイルを見つけるのに1/20秒かかりました。しかし、これは無負荷状態のMacBook Proなので、少しのリンゴとオレンジのテストケースです。
しかし、そのようなコマンドの実装(基本アルゴリズム)を見つけるための最良の方法は何ですか?
ベストアンサー1
そしてzsh
:
oldest=(**/*(.DOm[1]))
最も古い一般ファイルの場合(zsh
時間解像度は秒)
GNUツールの使用:
(export LC_ALL=C
find . -type f -printf '%T@\t%p\0' |
sort -zg | tr '\0\n' '\n\0' | head -n 1 |
cut -f2- | tr '\0' '\n')