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

camila m. misskaapow em gmail.com
Terça Março 4 11:11:00 PST 2008


roubei foi o seu }{, que só você e o tal homem do perlmonks que eu vi o post
lembram! hahahaha

On 04/03/2008, Fernando Oliveira <fernandocorrea em gmail.com> wrote:
>
> Breno, dá p/ diminuir bem só no END...
>
> perl -ne 'push em a,$_ unless$v{$_}++;END{print sort em a}' lista.txt
>
> unless é muito grande...
>
> perl -ne 'push em a,$_ if!$v{$_}++;END{print sort em a}' lista.txt
>
> dá p/ tirar o END...
>
> perl -ne 'push em a,$_ if!$v{$_}++}{print sort em a' lista.txt
>
> acho q já diminuiu bastante... mas acho q o melhor seria usar hash... mas
> a mila já roubou a minha solução!
>
> Em 04/03/08, breno <breno em rio.pm.org> escreveu:
> >
> > 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
> >
>
>
>
> --
> []'s Fernando
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
camila m.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/0b1f7208/attachment.html 


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