[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Comparar elementos.
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Comparar elementos. |
Date: |
Mon, 25 Jun 2007 16:51:33 -0300 |
Certo, vamos la
awk 'NR > 1{ linha[$0]++ }END{for(i in linha) {if (linha[i] > 1) print i}
}';
neste exemplo eu crio um vetor associativo (hash) cujo indice é uma string
-- considere as linhas
meu log
asdasd
asdasd
xixixixix
na linha "meu log" o awk não vai fazer nada
na linha "asdasd" o awk vai fazer linha["asdasd"]++; ou seja, o conteudo
dessa variavel sera acrescentado em 1. Como não existia essa variavel antes,
ela é criada dinamicamente e atribuido a ela o valor 0. nesta linha ela
passara a valer 1.
na outra linha "asdasd" vai acontecer a mesma coisa, mas agora o elemento
asdasd do hash 'linha' vale um, e passara a ter valor 2.
na linha 'xixixixix' acontecera o mesmo que na linha numero 2, apenas com
outro indice.
vale dizer que isso opera linha a linha -- se o seu elemento é uma palavra
deves repensar um pouco o script ;-)
[]´s Tiago
On 6/25/07, Michel I. Moreira <address@hidden> wrote:
>
> Tiago essa solução realmente resolveu o meu problema, muito obrigado.
>
> Mas se alguem souber como se faz isso em AWK gostaria de ver para
> aprender mais.
>
>
>
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/
[As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] Comparar elementos., Bruno Gunter Fricke, 2007/06/25