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

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

Re: [shell-script] contar ocorrencias em arquivo.


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] contar ocorrencias em arquivo.
Date: Fri, 21 Sep 2007 10:08:50 -0300

Tem pelo menos 3 formas:

1- usando uniq -c
$ uniq -c arq.txt # se ja estiver ordenado!
4 linux
2 shell

$ sort arq.txt | uniq -c # ordenando...
4 linux
2 shell

2- pode usar o grep -c para uma palavra em específico
$ grep -c linux arq.txt
4

3- podes usar awk + arrays
$awk '{words[$0]++}
END{for(i in words) print i,"-",words[i] }' arq.txt
linux - 4
shell - 2

Acho que a sort + uniq é a melhor
opção, basta formatar a saída do jeito que vc quiser, usando sed ou awk

[]´s Tiago
On 9/20/07, gleissonmb <address@hidden> wrote:
>
>
> Boa tarde gente,
>
> Alguma dica de como contar quantas ocorrencias de uma string existe em
> um arquivo linha por linha.
>
> Ex:
>
> conteudo de arq.txt
> linux
> linux
> linux
> linux
> shell
> shell
>
> O resultado ideal do comando seria:
> linux - 4
> shell - 2
>
> Eu tentei este comando:
> # for i in `cat arq.txt` ; do echo -ne "$i"\ ; echo -ne "-"\ ; grep
> "^$i$" arq.txt | wc -l ; echo ; done
>
> Só que aparece repetido, assim:
> linux - 4
> linux - 4
> linux - 4
> linux - 4
> shell - 2
> shell - 2
>
> !!!
>
> 
>



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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