Como POSIX definido, a saída de wc
deve conter uma entrada para cada arquivo de entrada do formulário:
"%d %d %d %s\n", <newlines>, <words>, <bytes>, <file>
Mas o formato do arquivo de saída pseudo printf()
string difere da versão do System V de wc
:
"%7d%7d%7d %s\n"
O POSIX não exigiu que os espaços iniciais fossem adicionados, portanto, é livre para que a implementação faça o que quiser. Existem implementações diferentes de wc
, pelo menos com OSX e wc
do repositório de ferramentas de herança, ele acrescentou espaços iniciais à saída.
$ /usr/5bin/wc -l /tmp/file
3 /tmp/file
O GNU wc também adiciona espaços iniciais ao ler o padrão em e sem opções:
$ cat file | wc
5 5 65
Para remover todos os espaços iniciais, no shell POSIX:
set -f
set -- $nl
nl=$1
set +f
Observe que essa abordagem pressupõe que a variável contenha apenas espaços iniciais ou finais, sem espaços no meio, como a b .