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

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

Re: [shell-script] Como fazer um distinct em uma tabela


From: Mateus Caruccio
Subject: Re: [shell-script] Como fazer um distinct em uma tabela
Date: Tue, 05 Aug 2003 22:13:58 +0800

opa,


 tu pode usar a opcao -m no grep pra pegar somente a primeira ocorrencia da 
expresao, mas antes tu precisa saber o nome de todso os usuario (se nao tiver 
ainda) e procurar no arquivo de usuario. Digamos que o arquivo com a lista de 
usuario:dia:tempo chame-se /tmp/lista:

# filtra somente os usernames;
# ordena e mostra somente uma linha de cada nome (assim
# temos todos os username, sem repeticoes)

$ grep -o '^[a-zA-Z0-9]\+' /tmp/lista | sort | uniq

# agora tu pode colocar isso num for com a opcao -m do grep

$ for linha in $(grep -o '^[a-zA-Z0-9]\+' /tmp/lista | sort | uniq)
do
  grep -m 1 "^$linha" /tmp/lista
done

Para entender o todo, procure entender cada parte separadamente (dividir para 
conquistar)

[]s

  Mateus

----- Original Message -----
From: Rafael <address@hidden>
Date: Tue, 05 Aug 2003 00:01:09 -0300
To: address@hidden
Subject: [shell-script] Como fazer um distinct em uma tabela

> Ola pessoal
> Eu queria fazer um distinct em uma tabela, não é bem uma tabela pq não 
> está em nenhum banco de dados, é sim um arquivo de texto.
> Ex:
> Usuario:Dia:tempo ->Está linha é apenas de exemplo
> 001:05/06/03:23:00
> 002:05/07/03:00:00
> 003:04/07/03:01:00
> 001:02/08/03:02:00
> Por exemplo se eu tenho um arquivo parecido com esse mas com muito mais 
> repetidos usuarios, e quero pegar somente a primeira vez q aparece o 
> usuario como faria?
> No exemplo acima não pegaria a 4 linha pq já é repetido!!!
> Aguardo sugestões
> Obrigado
> 
> Rafael Cintra
> User GNU/Linux Debian (of course!!!)
> 
> 
> 
> 
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
> http://br.yahoo.com/info/utos.html 
> 
> 



# ########################################################
# Mateus de Oliveira Caruccio <caruccio at operamail.com>
# Linux User #183552 - UIN #37364320
# Vim, vi e matei o Emacs !



-- 
____________________________________________
http://www.operamail.com
Get OperaMail Premium today - USD 29.99/year


Powered by Outblaze


reply via email to

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