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

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


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.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080304/f0f5f3e9/attachment.html 


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