Anexar comprimento da linha no final de cada linha

1

Dado entrada:

tree
branch

a saída desejada é

tree 4
branch 6

O que é um comando * nix disponível que faz isso?

    
por e a005 11.05.2012 / 16:00

1 resposta

3

Um script de shell simples que faz isso:

#!/bin/sh
while read line; do
    printf -- '%s %d\n' "${line}" "${#line}";
done < "${1}"

salve o script como, por exemplo, lc , torne-o executável e execute-o em nomes de arquivos como

lc myfile

Ou com awk :

awk '{print $0, length()}' myfile

Ou com Perl :

perl -nle 'print $_." ".length($_)' myfile
    
por 11.05.2012 / 16:09