[Rio-pm] Golfe! lendo arquivos, ordenando entradas e removendo duplicadas

Adriano Ferreira a.r.ferreira em gmail.com
Terça Março 4 11:26:26 PST 2008


2008/3/4 breno <breno at rio.pm.org>:
> Boa Adriano!!!! E aí? Quem dá menos???

Dá para ordenar primeiro e daí tirar as duplicatas:

perl -e 'print grep!$h{$_}++,sort<>'

-1 caracter

>  2008/3/4 Fernando Oliveira <fernandocorrea at gmail.com>:
>
>
> > hahaha!
>  >
>  >
>  >
>  > Em 04/03/08, camila m. <misskaapow at gmail.com> escreveu:
>  > > hahaha da sua cabeça?!
>  > >
>  > > faz que nem naquele filme, coloca um chapéu de papel alumínio! ;)
>  > >
>  > >
>  > >
>  > > On 04/03/2008, Fernando Oliveira <fernandocorrea at gmail.com> wrote:
>  > > > Mila, parabéns... mas vc sabe q roubou essa resposta da minha cabeça! (e
>  > algumas partes do meu blog! (tipo "}{" duvidam?
>  > http://perl-e.org/blog/?p=5))
>  > > >
>  > > >
>  > > > Em 04/03/08, camila m. <misskaapow at gmail.com> escreveu:
>  > > >
>  > > > > perl -ne '$a{$_}++}{print sort keys%a'
>  > > > >
>  > > > > vou pensar em mais outro jeito...
>  > > > >
>  > > > >
>  > > > >
>  > > > > On 04/03/2008, breno <breno at rio.pm.org> wrote:
>  > > > > > Salve, pessoal! (Não, sério, salvem sempre... acabei de perder
>  > vários
>  > > > > > arquivos aqui)
>  > > > > >
>  > > > > > Hoje vieram falar comigo com um código Perl de 11 linhas que recebe
>  > um
>  > > > > > arquivo no seguinte formato:
>  > > > > >
>  > > > > > -------------8<-----------------
>  > > > > > palavra1
>  > > > > > palavra2
>  > > > > > palavra3
>  > > > > > ....
>  > > > > > -------------8<-----------------
>  > > > > >
>  > > > > > e retorna uma lista com todas as palavras ORDENADAMENTE e SEM
>  > REPETIÇÕES.
>  > > > > >
>  > > > > > Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis
>  > que
>  > > > > > saiu minha tacada:
>  > > > > >
>  > > > > >
>  > > > > > perl -ne 'push at a,$_ unless$v{$_}++;END{@a=sort at a;print at a}' lista.txt
>  > > > > > lista2.txt ...
>  > > > > >
>  > > > > >
>  > > > > > 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve
>  > > > > > salve mestre Fernando), tenho certeza que dá pra fazer em menos.
>  > Notem
>  > > > > > que desse jeito, ao contrário do código inicial, é possível passar
>  > > > > > quantos arquivos de lista de palavras tiverem, e ele vai ordenar e
>  > > > > > remover duplicadas como se tudo fosse um único arquivão.
>  > > > > >
>  > > > > > Quem se habilita ao desafio?
>  > > > > >
>  > > > > > Dica: acho que trabalhando com concatenação de strings (ao invés de
>  > > > > > push em lista) fica bem menor...
>  > > > > >
>  > > > > >
>  > > > > > []s
>  > > > > >
>  > > > > > -b
>  > > > > > _______________________________________________
>  > > > > > Rio-pm mailing list
>  > > > > > Rio-pm at pm.org
>  > > > > > http://mail.pm.org/mailman/listinfo/rio-pm
>  > > > > >
>  > > > >
>  > > > >
>  > > > >
>  > > > > --
>  > > > > camila m.
>  > > > > _______________________________________________
>  > > > > Rio-pm mailing list
>  > > > > Rio-pm at pm.org
>  > > > > http://mail.pm.org/mailman/listinfo/rio-pm
>  > > > >
>  > > >
>  > > >
>  > > >
>  > > > --
>  > > > []'s Fernando
>  > > > _______________________________________________
>  > > > Rio-pm mailing list
>  > > > Rio-pm at pm.org
>  > > > http://mail.pm.org/mailman/listinfo/rio-pm
>  > > >
>  > >
>  > >
>  > >
>  > > --
>  > > camila m.
>  > > _______________________________________________
>  > > Rio-pm mailing list
>  > > Rio-pm at pm.org
>  > > http://mail.pm.org/mailman/listinfo/rio-pm
>  > >
>  >
>  >
>  >
>  > --
>  >  []'s Fernando
>  > _______________________________________________
>  >  Rio-pm mailing list
>  >  Rio-pm at pm.org
>  >  http://mail.pm.org/mailman/listinfo/rio-pm
>  >
>  _______________________________________________
>  Rio-pm mailing list
>  Rio-pm at pm.org
>  http://mail.pm.org/mailman/listinfo/rio-pm
>


Mais detalhes sobre a lista de discussão Rio-pm