perl -ne &#39;$a{$_}++}{print sort keys%a&#39;<br><br>vou pensar em mais outro jeito...<br><br><div><span class="gmail_quote">On 04/03/2008, <b class="gmail_sendername">breno</b> &lt;<a href="mailto:breno@rio.pm.org">breno@rio.pm.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Salve, pessoal! (Não, sério, salvem sempre... acabei de perder vários<br> arquivos aqui)<br> <br> Hoje vieram falar comigo com um código Perl de 11 linhas que recebe um<br> arquivo no seguinte formato:<br> <br> -------------8&lt;-----------------<br>
 palavra1<br> palavra2<br> palavra3<br> ....<br> -------------8&lt;-----------------<br> <br> e retorna uma lista com todas as palavras ORDENADAMENTE e SEM REPETIÇÕES.<br> <br> Daí pensei cá com meus botões... dá pra fazer em 1 linha... e eis que<br>
 saiu minha tacada:<br> <br> <br> perl -ne &#39;push@a,$_ unless$v{$_}++;END{@a=sort@a;print@a}&#39; lista.txt<br> lista2.txt ...<br> <br> <br> 47 caracteres. Mas como não sou um praticante ávido de Golfe (salve<br> salve mestre Fernando), tenho certeza que dá pra fazer em menos. Notem<br>
 que desse jeito, ao contrário do código inicial, é possível passar<br> quantos arquivos de lista de palavras tiverem, e ele vai ordenar e<br> remover duplicadas como se tudo fosse um único arquivão.<br> <br> Quem se habilita ao desafio?<br>
 <br> Dica: acho que trabalhando com concatenação de strings (ao invés de<br> push em lista) fica bem menor...<br> <br> <br> []s<br> <br> -b<br> _______________________________________________<br> Rio-pm mailing list<br> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
 <a href="http://mail.pm.org/mailman/listinfo/rio-pm">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> </blockquote></div><br><br clear="all"><br>-- <br>camila m.