Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Aprenda inglês em casa
Curso estruturado com o que existe de melhor e mais rápido em estratégias e técnicas de aprendizado para adultos.
Conheça as aulas experimentais.

 

você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

Contagem de Palavras

Por Rubens Queiroz de Almeida

Data de Publicação: 27 de Outubro de 2006

Várias vezes eu mencionei na Dicas-L um material que criei para autoestudo da língua inglesa chamado As Palavras Mais Comuns da Língua Inglesa.

Para fazer esta contagem eu usei o bom e velho Unix. Originalmente eu utilizava vários comandos do próprio Unix, o que descrevo em uma outra dica

Lendo o manual de Awk do pacote gawk-doc-3.0.6-4cl (Conectiva Linux), chamado Effective AWK Programming, eu descobri uma outra maneira de se fazer isto. Eu fiz algumas modificações no script, que incluo no final desta mensagem (o script original se encontra na página 225 do livro).

Para gerar os relatórios, eu uso a shell abaixo:


  #!/bin/bash
   
  for file in *.txt
  do
     echo "======================================" >> $file-report
     echo $file > $file-report
     echo "======================================" >> $file-report
     awk -f /home/queiroz/bin/wordcount.awk $file > $file-report
  done

A seguir, o arquivo wordcount.awk:

  {
   $0 = tolower($0)
   gsub(/``/, " ", $0)
   gsub(/''/, " ", $0)
   gsub(/[^a-z' \t]/, " ", $0)
   for (i = 1; i <= NF; i++)
    freq[$i]++
   total += NF
  }
   
  END {
    sort = "sort +1 -nr"
    for (word in freq)
     printf "%-10s\t%-10d\t%-2.3f\n",word,freq[word],(freq[word] * 100)/total | sort
     print "----------------------------"
     print "Total de Palavras = " total
     print "----------------------------"
  }

A seguir, um exemplo de relatório. Na primeira coluna temos a palavra, na segunda o número de ocorrências da mesma no texto, e na terceira e última coluna, o percentual de ocorrência da palavra no texto analisado.

  --------------------
  you             12              6.218
  it              11              5.699
  jude            9               4.663
  hey             9               4.663
  to              8               4.145
  make            8               4.145
  let             7               3.627
  her             7               3.627
  and             7               3.627
  your            6               3.109
  don't           6               3.109
  better          6               3.109
  then            4               2.073
  the             4               2.073
  a               4               2.073
  remember        3               1.554
  begin           3               1.554
  you'll          2               1.036
  world           2               1.036
  under           2               1.036
  that            2               1.036
  take            2               1.036
  start           2               1.036
  song            2               1.036
  skin            2               1.036
  out             2               1.036
  know            2               1.036
  it's            2               1.036
  into            2               1.036
  heart           2               1.036
  go              2               1.036
  get             2               1.036
  ``` . um monte de linhas omitidas
  anytime         1               0.518
  afraid          1               0.518
  ad              1               0.518
   ----------------------------
   Total de Palavras = 193
   ----------------------------

Este script foi utilizado pelo Deivison Alves, que criou a listagem das palavras mais comuns da língua italiana.

A técnica de contagem de palavras eu já usei em diversos contextos, mas o principal deles foi para criar o livro As Palavras Mais Comuns da Língua Inglesa. Este livro foi desenvolvido para auxiliar pessoas que precisam aprender a ler em inglês.

O script de contagem de palavras foi publicado originalmente na Dicas-L, no dia 2 de novembro de 2001.

Para quem precisa melhorar o inglês, eu criei um site chamado Aprendendo Inglês que contém inúmeras dicas úteis para o aprendizado.

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato Imprimir
  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (276 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Artigos Publicados


Linux Shell Script em Newsgroup

Servidor: news.gmane.org

Grupo: gmane.org.user-groups.programming.shell.brazil


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Cantinho do Shell NewsFeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.