Eu estava dividindo / mesclando um grande conjunto de arquivos de log e para verificar se tudo estava bem, tentei:
ls /tmp/logs|xargs wc -l -c
O que me deixou triste:
zsh: lista de argumentos muito longa: ls
O pobre ls não aguentou … então tentei:
find /tmp/logs -iname "*log" | xargs wc -l -c
Mas quebrou a totalização várias vezes. Acho que xargs está limitando o tamanho da linha de comando do wc.
Então, eu RTFM de wc e encontrei este:
–files0-from = F
lê a entrada dos arquivos especificados por nomes terminados em NUL no arquivo F; Se F for – então leia os nomes da entrada padrão
Mas … mas … com terminação NUL?!?! Por que não um arquivo de linha comum?
Bem … Ok … encontre o argumento -printf FTW!
find /tmp/logs -iname "*log" -printf "%p "|wc --files0-from=- -l -c