No Linux, a quantidade máxima de espaço para argumentos de comando é 1/4 da quantidade de espaço disponível na pilha. Então, uma solução é aumentar a quantidade de espaço disponível para a pilha.
Versão resumida: execute algo como
ulimit -s 65536
Versão mais longa: A quantidade padrão de espaço disponível para a pilha é algo como 8192 KB. Você pode ver a quantidade de espaço disponível, da seguinte maneira:
$ ulimit -s
8192
Escolha um número maior e defina a quantidade de espaço disponível para a pilha. Por exemplo, se você quiser tentar permitir até 65536 KB para a pilha, execute isto:
$ ulimit -s 65536
Você pode precisar brincar com o tamanho necessário, usando a tentativa e erro. Em muitos casos, essa é uma solução rápida e suja que elimina a necessidade de modificar o comando e elaborar a sintaxe de find
, xargs
, etc. (embora eu saiba que há outros benefícios em fazer isso) .
Eu acredito que isso é específico do Linux. Eu suspeito que provavelmente não vai ajudar em qualquer outro sistema operacional Unix (não testado).