find -exec {} +パラメータリストの制限

find -exec {} +パラメータリストの制限

最大パラメータリストサイズに達すると、xargsすべてのファイルが含まれるまで新しいリストが作成され続けることがわかります。

しかし、find -exec <command> {} +リストのサイズが出力を超えると同じことをしますか、それとも機能しませんかgetconf ARG_MAX

ベストアンサー1

はい、find -exec ... {} +各呼び出しで最大引数リストサイズを超えずにすべての引数に対応できるように、必要なだけ指定されたコマンドを実行します。これは次のために発生します。POSIX:

基本式が<プラス記号>で区切られている場合、基本式は常にtrueと評価され、基本式が評価されるパス名はコレクションとして集計されます。 [...] 2つの文字 ""のみを含む引数は{}集約されたパス名のセットに置き換えられ、各パス名は集計順序に従って呼び出しユーティリティに別々の引数として渡されます。複数のパス名のセットのサイズは、ユーティリティの実行によってシステムの{ARG_MAX}制限を超えないように制限する必要があります。

(強調)。

おすすめ記事