Como exibir o número de linhas, palavras e caracteres em linhas separadas?

3

Eu quero mostrar o número de linhas, palavras e caracteres, em um arquivo, em linhas separadas?
Eu não sei mais do que usar wc filename para isso.

    
por Gaurav 08.09.2014 / 09:15

4 respostas

2

Você pode usar tr :

wc filename | tr ' ' '\n' 

, ou se você quer apenas os números:

wc filename | tr ' ' '\n' | head -3
    
por 08.09.2014 / 09:18
2

Eu gosto de usar xargs -n XX para ter XX itens por linha.

Veja:

$ wc a
 3  5 21 a
$ wc < a
 3  5 21
$ wc < a | xargs -n 1
3
5
21
    
por 08.09.2014 / 12:30
1

Com shells com suporte para substituição de processos (ksh, zsh, bash), você poderia fazer algo como:

read line word byte < <(wc < file)
echo "file has $line lines, $word words and $byte bytes"

Com AT & T ksh ou zsh,

wc < file | read line word byte

também deve funcionar.

    
por 08.09.2014 / 14:51
1
printf %d\n $(wc <file)

Isso inserirá uma nova linha entre cada um dos argumentos de printf , que, quando divididos em um $IFS padrão, são os espaços entre a saída de wc .

Por exemplo:

printf %d\n $(wc <<< $(seq -s" some splitter $IFS" 100))
100
298
1975
    
por 08.09.2014 / 16:56