Find
find -exec {} + 參數列表限制
我知道當達到最大參數列表大小時,
xargs
會不斷創建新列表,直到包含所有文件;但是
find -exec <command> {} +
如果列表的大小超過輸出,它會做同樣的事情還是不起作用getconf ARG_MAX
?
是的,
find -exec ... {} +
根據需要多次執行給定命令以容納所有參數,而不會超過每次呼叫中的最大參數列表大小。這是由POSIX指定的:如果主表達式被 <加號> 標點,則主表達式應始終評估為真,並且評估主表達式的路徑名應聚合到集合中。
$$ … $$僅包含兩個字元“
{}
”的參數應替換為一組聚合路徑名,每個路徑名作為單獨的參數傳遞給呼叫的實用程序,其順序與聚合的順序相同。應限制任何兩個或多個路徑名的大小,以使實用程序的執行不會導致超出系統的 {ARG_MAX} 限制。(強調我的)。