「検索」コマンドの最適化/交換

「検索」コマンドの最適化/交換

この find コマンドを最適化しようとしています。さらなる処理のために、1つの束(時にはほぼ100万)のファイルをディレクトリに移動する必要があります。多数のファイルを実行するのに数時間かかることがあるので、このコマンドを高速化する方法を探しています。問題は、まだ記録されているファイルを移動したくないため、移動する前にファイルを少なくとも1分間保持する必要があることです。

find path -name *.cdr.xml -mmin +1 -exec mv {} /path

編集する:このコマンドはPythonスクリプトの一部として実行され、Pythonスクリプトの実行を続行するには、すべてのファイルを見つけて移動するのを待つ必要があります。

すべてのファイル名はUUIDです。

ベストアンサー1

フォークが一度だけ発生するエンディングを使用すると、パフォーマンスが向上する可能性があります+-execfind-exec

;そして の場合、-exec毎回新しいパラメータをフォークします。

したがって、次のものを使用できます。

find path -type f -name '*.cdr.xml' -mmin +1 -exec mv -t /path {} +

ファイル名が重複する可能性がある場合:

find path -type f -name '*.cdr.xml' -mmin +1 -exec mv -it /path {} +

または

find path -type f -name '*.cdr.xml' -mmin +1 -exec mv --backup=numbered -t /path {} +

--backup=numberedmvターゲットのファイル名が同じ場合、上書きされない番号付きファイルバックアップが作成されます。

おすすめ記事