De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 02 de Novembro de 2001
Várias vezes eu mencionei aqui 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 http://www.dicas-l.com.br/dicas-l/19970311.shtml.
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).
Eu já fiz o documento para inglês. Alguém se habilita a escrever "As Palavras mais Comuns do Espanhol, Francês, Russo,..." ?? :-) É só arrumar os textos e rodar este script.
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 ----------------------------
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários