O comportamento usual de xargs
é colar o máximo de argumentos possível na linha de comando de qualquer comando executado, iterando até que todos sejam executados. Quando usado dessa maneira, é uma solução para o problema das limitações de tamanho da linha de comando.
Mas quando você especifica a opção -I
, ele executa o comando em cada argumento individualmente , um por vez. Eu não acho que isso seja completamente óbvio na documentação da opção xargs -I
do Linux, mas é isso que eles significam.
-I replace-str
Replace occurrences of replace-str in the initial-arguments with
names read from standard input. Also, unquoted blanks do not
terminate input items; instead the separator is the newline
character. Implies -x and -L 1.