Find

find -exec {} + 參數列表限制

  • December 17, 2019

我知道當達到最大參數列表大小時,xargs會不斷創建新列表,直到包含所有文件;

但是find -exec <command> {} +如果列表的大小超過輸出,它會做同樣的事情還是不起作用getconf ARG_MAX

是的,find -exec ... {} +根據需要多次執行給定命令以容納所有參數,而不會超過每次呼叫中的最大參數列表大小。這是由POSIX指定的:

如果主表達式被 <加號> 標點,則主表達式應始終評估為真,並且評估主表達式的路徑名應聚合到集合中。

$$ … $$僅包含兩個字元“ {}”的參數應替換為一組聚合路徑名,每個路徑名作為單獨的參數傳遞給呼叫的實用程序,其順序與聚合的順序相同。應限制任何兩個或多個路徑名的大小,以使實用程序的執行不會導致超出系統的 {ARG_MAX} 限制。

(強調我的)。

引用自:https://unix.stackexchange.com/questions/482930