XMLファイルの数を保存するタスク

XMLファイルの数を保存するタスク

私の友人はIT会社に勤務しており、ディレクトリ(サブディレクトリを含む)内のXMLファイルの数を数える必要があります。

ただし、ファイル数は数百万に達するため、それを使用するか、同様の計算を実行するのにls -LR | grep .xml多くの時間がかかります。

より良い方法が何であるか疑問に思います。

新しいファイルが作成されるか、変更時間が変わるたびにカウンタ(ファイル数)に影響を与えるように、バックグラウンドプロセスの一種はそれを処理できますか?

ベストアンサー1

説明するデーモンは次のように動作します。inotify

しかし、たぶん使用するfindのはwc -l十分速いでしょうか?

簡単なテストのみを実行してみましたが、私のシステムではtime ls -lR /mm/|grep -c jpgreal 0m2.168s)と()time find /mm -type f -name \*jpg|wc -lの間にかなりの違いがあります。real 0m0.397sどちらも約42,000個のファイルを返すため、大きなディレクトリの場合は違いが大きくなる可能性があります。

(ディスクキャッシュ効果を排除するために、2つのコマンドを複数回実行しました。)

おすすめ記事