vcs me desculpem, mas eu vou apelar...<br><br>perl -E &#39;say grep!$h{$_}++,sort&lt;&gt;&#39; lista.txt<br><br>perl5.10...<br><br><div><span class="gmail_quote">Em 04/03/08, <b class="gmail_sendername">Fernando Oliveira</b> &lt;<a href="mailto:fernandocorrea@gmail.com">fernandocorrea@gmail.com</a>&gt; escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<a href="http://perl-e.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://perl-e.org</a><div><span class="e" id="q_1187b4e1d0259661_1"><br><br><div><span class="gmail_quote">Em 04/03/08, <b class="gmail_sendername">Adriano Ferreira</b> &lt;<a href="mailto:a.r.ferreira@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">a.r.ferreira@gmail.com</a>&gt; escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

2008/3/4 Fernando Oliveira &lt;<a href="mailto:fernandocorrea@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">fernandocorrea@gmail.com</a>&gt;:<br> <br>&gt; adriano, se importa se eu botar essa sua resposta no meu blog?<br>
 <br> <br>Esteja à vontade. Ganhar golf (ou passar perto disso) no Rio-pm é um<br>
 fato histórico para mim. E eu disse &quot;passar perto&quot; porque eu acho que<br> tem jeito de encolher mais.<br> <br> Qual a URL de seu blog mesmo?<br> <br><br> &gt;<br> &gt; Em 04/03/08, Adriano Ferreira &lt;<a href="mailto:a.r.ferreira@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">a.r.ferreira@gmail.com</a>&gt; escreveu:<br>

 &gt;<br> &gt; &gt; 2008/3/4 breno &lt;<a href="mailto:breno@rio.pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">breno@rio.pm.org</a>&gt;:<br> &gt; &gt;<br> &gt; &gt; &gt; Boa Adriano!!!! E aí? Quem dá menos???<br>
 &gt; &gt;<br> &gt; &gt;<br> &gt; &gt; Dá para ordenar primeiro e daí tirar as duplicatas:<br>
 &gt; &gt;<br> &gt; &gt; perl -e &#39;print grep!$h{$_}++,sort&lt;&gt;&#39;<br> &gt; &gt;<br> &gt; &gt; -1 caracter<br> &gt; &gt;<br> &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;2008/3/4 Fernando Oliveira &lt;<a href="mailto:fernandocorrea@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">fernandocorrea@gmail.com</a>&gt;:<br>

 &gt; &gt; &gt;<br> &gt; &gt; &gt;<br> &gt; &gt; &gt; &gt; hahaha!<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; Em 04/03/08, camila m. &lt;<a href="mailto:misskaapow@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">misskaapow@gmail.com</a>&gt; escreveu:<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; hahaha da sua cabeça?!<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; faz que nem naquele filme, coloca um chapéu de papel alumínio! ;)<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt;<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; On 04/03/2008, Fernando Oliveira &lt;<a href="mailto:fernandocorrea@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">fernandocorrea@gmail.com</a>&gt; wrote:<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; Mila, parabéns... mas vc sabe q roubou essa resposta da minha<br>
 &gt; cabeça! (e<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; algumas partes do meu blog! (tipo &quot;}{&quot; duvidam?<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; <a href="http://perl-e.org/blog/?p=5%29" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://perl-e.org/blog/?p=5)</a>)<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt;<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; Em 04/03/08, camila m. &lt;<a href="mailto:misskaapow@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">misskaapow@gmail.com</a>&gt; escreveu:<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; perl -ne &#39;$a{$_}++}{print sort keys%a&#39;<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; vou pensar em mais outro jeito...<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt;<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; On 04/03/2008, breno &lt;<a href="mailto:breno@rio.pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">breno@rio.pm.org</a>&gt; wrote:<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; Salve, pessoal! (Não, sério, salvem sempre... acabei de<br>

 &gt; perder<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; vários<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; arquivos aqui)<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; Hoje vieram falar comigo com um código Perl de 11 linhas que<br>

 &gt; recebe<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; um<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; arquivo no seguinte formato:<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; -------------8&lt;-----------------<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; palavra1<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; palavra2<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; palavra3<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; ....<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; -------------8&lt;-----------------<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; e retorna uma lista com todas as palavras ORDENADAMENTE e SEM<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; REPETIÇÕES.<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; Daí pensei cá com meus botões... dá pra fazer em 1 linha... e<br> &gt; eis<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; que<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; saiu minha tacada:<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; perl -ne &#39;push@a,$_ unless$v{$_}++;END{@a=sort@a;print@a}&#39;<br> &gt; lista.txt<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; lista2.txt ...<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; 47 caracteres. Mas como não sou um praticante ávido de Golfe<br> &gt; (salve<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; salve mestre Fernando), tenho certeza que dá pra fazer em<br>

 &gt; menos.<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; Notem<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; que desse jeito, ao contrário do código inicial, é possível<br> &gt; passar<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; quantos arquivos de lista de palavras tiverem, e ele vai<br>

 &gt; ordenar e<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; remover duplicadas como se tudo fosse um único arquivão.<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; Quem se habilita ao desafio?<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; Dica: acho que trabalhando com concatenação de strings (ao<br> &gt; invés de<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; push em lista) fica bem menor...<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; []s<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; -b<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; _______________________________________________<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; Rio-pm mailing list<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; <a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt; <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt;<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; --<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; camila m.<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; _______________________________________________<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; Rio-pm mailing list<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; <a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt; <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; --<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; []&#39;s Fernando<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; _______________________________________________<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; Rio-pm mailing list<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; <a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt; <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; &gt;<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt;<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; --<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; camila m.<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; _______________________________________________<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; Rio-pm mailing list<br>

 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; <a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt; <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt; &gt;<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt;<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; --<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;[]&#39;s Fernando<br> &gt; &gt; &gt;&nbsp;&nbsp;&gt; _______________________________________________<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;Rio-pm mailing list<br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;<a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br> &gt; &gt; &gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
 &gt; &gt; &gt;&nbsp;&nbsp;&gt;<br>
 &gt; &gt; &gt;&nbsp;&nbsp;_______________________________________________<br> &gt; &gt; &gt;&nbsp;&nbsp;Rio-pm mailing list<br> &gt; &gt; &gt;&nbsp;&nbsp;<a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>
 &gt; &gt; &gt;&nbsp;&nbsp;<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
 &gt; &gt; &gt;<br> &gt; &gt; _______________________________________________<br> &gt; &gt; Rio-pm mailing list<br> &gt; &gt; <a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>
 &gt; &gt; <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
 &gt; &gt;<br> &gt;<br> &gt;<br> &gt;<br> &gt; --<br> &gt; []&#39;s Fernando<br> &gt; _______________________________________________<br> &gt;&nbsp;&nbsp;Rio-pm mailing list<br> &gt;&nbsp;&nbsp;<a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>

 &gt;&nbsp;&nbsp;<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> &gt;<br> _______________________________________________<br>
 Rio-pm mailing list<br> <a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>
 <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.pm.org/mailman/listinfo/rio-pm</a><br> </blockquote></div><br><br clear="all"><br></span></div>
<span class="sg">-- <br>[]&#39;s Fernando
</span></blockquote></div><br><br clear="all"><br>-- <br>[]&#39;s Fernando