shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] contar palavras


From: wellingtons_imares
Subject: Re: [shell-script] contar palavras
Date: Mon, 6 Sep 2004 13:30:58 -0300

Andre

kra se todos os arquivos tiverem no mesmo diretorio tente assim:

wc -l *


___________________________________________________
Wellington Santos Oliveira
Analise de Suporte
__________________________________________________



|---------+--------------------------->
|         |           Andreyev Dias de|
|         |           Melo            |
|         |           <andreyev@cpqd.c|
|         |           om.br>          |
|         |                           |
|         |           06/09/2004 12:52|
|         |           Favor responder |
|         |           a shell-script  |
|         |                           |
|---------+--------------------------->
  
>------------------------------------------------------------------------------------------------------------------------------|
  |                                                                             
                                                 |
  |        Para:    address@hidden                                              
                                |
  |        cc:                                                                  
                                                 |
  |        Assunto: Re: [shell-script] contar palavras                          
                                                 |
  
>------------------------------------------------------------------------------------------------------------------------------|




Joao Paulo Muller da Silva wrote:
> Olá galera..
>
> Eu preciso contar o numero de ocorrências de palavras em um arquivo
texto.
>
> Por exemplo:
>
> eu  3
> tu   4
> nos 6
>
> Fiz assim grep "palavra" arquivo.txt | wc -l, porem dessa maneira eu
tenho
> que colocar palavra por palavra, gostaria de saber como eu faco para em
vez de
> colocar a palavra colocar uma variavel que receba esta palavra do arquivo
e me
> retorne o numero de ocorrencias.

João Paulo,

O Rubens Queiroz do Dicas-l e da UNICAMP já fez isto!

#!/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 "----------------------------"
}
--------------------

Veja mais em http://www.dicas-l.unicamp.br/dicas-l/20011102.shtml.

BTW, vc pode fazer isso sem o AWK, como ele diz em
http://www.dicas-l.unicamp.br/dicas-l/19970311.shtml:

$ cat book*|deroff -w|dd conv=lcase|sort|uniq -c|sort -nr|more

As explicações são o 'dever de casa', mas vc pode tê-las nas URL citadas...

[]s

Andreyev


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem
prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------

Links do Yahoo! Grupos













reply via email to

[Prev in Thread] Current Thread [Next in Thread]