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

Fernando Oliveira fernandocorrea em gmail.com
Terça Março 4 11:52:58 PST 2008


bom, eu tenho...

Em 04/03/08, Adriano Ferreira <a.r.ferreira em gmail.com> escreveu:
>
> 2008/3/4 Fernando Oliveira <fernandocorrea em gmail.com>:
>
> > vcs me desculpem, mas eu vou apelar...
> >
> > perl -E 'say grep!$h{$_}++,sort<>' lista.txt
> >
> > perl5.10...
>
>
> Bonito! Eu tinha me esquecido do -E e fiquei imaginando como habilitar
> o 'say' com um mínimo.
>
> Eu acho que valeu. Muito embora quase ninguém tenha o 5.10.0 instalado
> e em produção ainda.
>
>
> > Em 04/03/08, Fernando Oliveira <fernandocorrea em gmail.com> escreveu:
> > > http://perl-e.org
> > >
> > >
> > >
> > >
> > >
> > >
> > > Em 04/03/08, Adriano Ferreira <a.r.ferreira em gmail.com> escreveu:
> > > > 2008/3/4 Fernando Oliveira <fernandocorrea em gmail.com>:
> > > >
> > > > > adriano, se importa se eu botar essa sua resposta no meu blog?
> > > >
> > > >
> > > > Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um
> > > > fato histórico para mim. E eu disse "passar perto" porque eu acho
> que
> > > > tem jeito de encolher mais.
> > > >
> > > > Qual a URL de seu blog mesmo?
> > > >
> > > >
> > > > >
> > > > > Em 04/03/08, Adriano Ferreira <a.r.ferreira em gmail.com> escreveu:
> > > > >
> > > > > > 2008/3/4 breno <breno em 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 em gmail.com>:
> > > > > > >
> > > > > > >
> > > > > > > > hahaha!
> > > > > > >  >
> > > > > > >  >
> > > > > > >  >
> > > > > > >  > Em 04/03/08, camila m. <misskaapow em 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 em 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 em gmail.com> escreveu:
> > > > > > >  > > >
> > > > > > >  > > > > perl -ne '$a{$_}++}{print sort keys%a'
> > > > > > >  > > > >
> > > > > > >  > > > > vou pensar em mais outro jeito...
> > > > > > >  > > > >
> > > > > > >  > > > >
> > > > > > >  > > > >
> > > > > > >  > > > > On 04/03/2008, breno <breno em 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 em a,$_
> > unless$v{$_}++;END{@a=sort em a;print em 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 em pm.org
> > > > > > >  > > > > > http://mail.pm.org/mailman/listinfo/rio-pm
> > > > > > >  > > > > >
> > > > > > >  > > > >
> > > > > > >  > > > >
> > > > > > >  > > > >
> > > > > > >  > > > > --
> > > > > > >  > > > > camila m.
> > > > > > >  > > > > _______________________________________________
> > > > > > >  > > > > Rio-pm mailing list
> > > > > > >  > > > > Rio-pm em pm.org
> > > > > > >  > > > > http://mail.pm.org/mailman/listinfo/rio-pm
> > > > > > >  > > > >
> > > > > > >  > > >
> > > > > > >  > > >
> > > > > > >  > > >
> > > > > > >  > > > --
> > > > > > >  > > > []'s Fernando
> > > > > > >  > > > _______________________________________________
> > > > > > >  > > > Rio-pm mailing list
> > > > > > >  > > > Rio-pm em pm.org
> > > > > > >  > > > http://mail.pm.org/mailman/listinfo/rio-pm
> > > > > > >  > > >
> > > > > > >  > >
> > > > > > >  > >
> > > > > > >  > >
> > > > > > >  > > --
> > > > > > >  > > camila m.
> > > > > > >  > > _______________________________________________
> > > > > > >  > > Rio-pm mailing list
> > > > > > >  > > Rio-pm em pm.org
> > > > > > >  > > http://mail.pm.org/mailman/listinfo/rio-pm
> > > > > > >  > >
> > > > > > >  >
> > > > > > >  >
> > > > > > >  >
> > > > > > >  > --
> > > > > > >  >  []'s Fernando
> > > > > > >  > _______________________________________________
> > > > > > >  >  Rio-pm mailing list
> > > > > > >  >  Rio-pm em pm.org
> > > > > > >  >  http://mail.pm.org/mailman/listinfo/rio-pm
> > > > > > >  >
> > > > > > >  _______________________________________________
> > > > > > >  Rio-pm mailing list
> > > > > > >  Rio-pm em pm.org
> > > > > > >  http://mail.pm.org/mailman/listinfo/rio-pm
> > > > > > >
> > > > > > _______________________________________________
> > > > > > Rio-pm mailing list
> > > > > > Rio-pm em pm.org
> > > > > > http://mail.pm.org/mailman/listinfo/rio-pm
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > []'s Fernando
> > > > > _______________________________________________
> > > > >  Rio-pm mailing list
> > > > >  Rio-pm em pm.org
> > > > >  http://mail.pm.org/mailman/listinfo/rio-pm
> > > > >
> > > > _______________________________________________
> > > > Rio-pm mailing list
> > > > Rio-pm em pm.org
> > > > http://mail.pm.org/mailman/listinfo/rio-pm
> > > >
> > >
> > >
> > >
> > > --
> > > []'s Fernando
> >
> >
> >
> > --
> > []'s Fernando
> > _______________________________________________
> >  Rio-pm mailing list
> >  Rio-pm em pm.org
> >  http://mail.pm.org/mailman/listinfo/rio-pm
> >
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
[]'s Fernando
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/c29f9e81/attachment-0001.html 


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