Conte o número de palavras de tamanho específico de um arquivo

5

Eu usei o comando abaixo para contar o número de palavras em um arquivo:

tr ' ' '\n' < Filename | grep -c "WORD"

Isso retorna a lista de palavras com o contador. Agora quero contar o número de palavras de um determinado tamanho. Por exemplo, dado um arquivo com estes conteúdos:

employee paresh emp employee jayesh hitesh

Quando executo o script de shell com o argumento 6 , ele deve exibir / contar palavras com 6 caracteres ( paresh , jayesh e hitesh , com contagem 3 ). Como posso fazer isso?

    
por Paresh Mayani 03.01.2011 / 08:10

2 respostas

8

Se você grep para a expressão regular ^.{6}$ , ele retornará linhas com exatamente seis caracteres:

$ tr ' ' '\n' < Filename | grep '^.\{6\}$'
paresh
jayesh
hitesh

$ tr ' ' '\n' < Filename | grep -c '^.\{6\}$'
3
    
por 03.01.2011 / 08:23
3

Além disso,

awk -v n=6 '{for (i=1; i<=NF; i++) if (length($i) == n) print $i}' file

ou, com tr

tr ' ' '\n' file | awk -v n=6 'length($0)==n'
    
por 07.03.2011 / 00:29