<p>Esqueci de dizer q tem q passar o nome do arquivo! Tipo:<br>
perl -F, -nale &#39;...&#39; arquivo.txt</p>
<div class="gmail_quote">Em 22/02/2011 10:17, &quot;Fernando Oliveira&quot; &lt;<a href="mailto:fernandocorrea@gmail.com">fernandocorrea@gmail.com</a>&gt; escreveu:<br type="attribution">&gt; perl -F, -nale &#39;push @{ $pessoa{$F[0]} }, @F[1 .. $#F]; END{print &quot;$_ =&gt; &quot;,<br>
&gt; join &quot;, &quot;, @{ $pessoa{$_} } }&#39;<br>&gt; <br>&gt; Codigo escrito no cel e não testado!<br>&gt; GOLF?!<br>&gt; Em 22/02/2011 09:36, &quot;Leonardo Gerheim&quot; &lt;<a href="mailto:general_andrade@yahoo.com.br">general_andrade@yahoo.com.br</a>&gt;<br>
&gt; escreveu:<br>&gt;&gt; Agradeço à todos pelas respostas. Mas realmente não consegui me expressar,<br>&gt; <br>&gt;&gt; como coloquei um exemplo não específico ficou realmente complicado o<br>&gt;&gt; entendimento. A minha intenção é a seguinte:<br>
&gt;&gt; Eu quero poder movimentar dentro do arquivo, ou seja, avançar e recuar uma<br>&gt; <br>&gt;&gt; uma linha do arquivo.<br>&gt;&gt;<br>&gt;&gt; ex de INPUT:<br>&gt;&gt;<br>&gt;&gt; joao,10,15<br>&gt;&gt; joao,10,10<br>
&gt;&gt; joao,8,9<br>&gt;&gt; maria,7,9<br>&gt;&gt; maria,6,9<br>&gt;&gt; maria,4,10<br>&gt;&gt;<br>&gt;&gt; onde temos respectivamente o nome do aluno a nota A e a nota B, mas<br>&gt; queremos<br>&gt;&gt; gerar um OUTPUT:<br>
&gt;&gt;<br>&gt;&gt; joao 10,10,8<br>&gt;&gt; 15,10,9<br>&gt;&gt; maria 7,6,4<br>&gt;&gt; 9,9,10<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; Ou seja, uma nota após a outra.<br>&gt;&gt;<br>&gt;&gt; Para isso, pensei em ler a primeira linha, imprimir as notas notas uma<br>
&gt;&gt; embaixo da outra, logoa após isso teria que retornar à primneira linha<br>&gt; para<br>&gt;&gt; imprimir o segundo conjunto de notas, enquanto o nome do aluno for o<br>&gt; mesmo. O<br>&gt;&gt; que não consegui fazer é essa parte de movimentar dentro do arquivo,<br>
&gt; avançando e<br>&gt;&gt; recuando em arquivos que tenham registros de tamanho diferente.<br>&gt;&gt; Caso existe um algoritmo mais simples por for me ajudem a montá-lo, mas de<br>&gt; <br>&gt;&gt; qualquer forma me expliquei como avançar e recuar linhas.<br>
&gt;&gt;<br>&gt;&gt; Att.<br>&gt;&gt;<br>&gt;&gt; P.S: A solução do Eden na sua última resposta resolveu a última questão,<br>&gt; eu que<br>&gt;&gt; me expressei totalmente mal.<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>
&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; ________________________________<br>&gt;&gt; De: Eden Cardim &lt;<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>&gt;<br>&gt;&gt; Para: Cascavel Perl Mongers &lt;<a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a>&gt;<br>
&gt;&gt; Enviadas: Terça-feira, 22 de Fevereiro de 2011 9:04:35<br>&gt;&gt; Assunto: Re: [Cascavel-pm] Acesso aleatório à arquivos<br>&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; &quot;Leonardo&quot; == Leonardo Gerheim &lt;<a href="mailto:general_andrade@yahoo.com.br">general_andrade@yahoo.com.br</a>&gt; writes:<br>
&gt;&gt;<br>&gt;&gt; Leonardo&gt; Olá pessoal, Preciso ler um arquivo e quando em uma<br>&gt;&gt; Leonardo&gt; determinada linha contiver um valor, ele pular para a<br>&gt;&gt; Leonardo&gt; próxima linha e quando encontrar um segundo valor não<br>
&gt;&gt; Leonardo&gt; imprimir mais nada, como no exemplo abaixo:<br>&gt;&gt;<br>&gt;&gt; Não ficou claro o que você quer aqui, mostra um exemplo da entrada e da<br>&gt;&gt; saída esperada.<br>&gt;&gt;<br>&gt;&gt; Leonardo&gt; joao- não imprimir<br>
&gt;&gt; Leonardo&gt; maria- não imprimir<br>&gt;&gt; Leonardo&gt; antonio- não imprimir<br>&gt;&gt; Leonardo&gt; a- não imprimir<br>&gt;&gt; Leonardo&gt; linguagem- IMPRIMIR<br>&gt;&gt; Leonardo&gt; programacao- IMPRIMIR<br>
&gt;&gt; Leonardo&gt; b- não imprimir<br>&gt;&gt; Leonardo&gt; elizabeth- não imprimir<br>&gt;&gt; Leonardo&gt; kenia- não imprimir<br>&gt;&gt;<br>&gt;&gt; Isso é a entrada ou a saída do programa?<br>&gt;&gt; grep não resolve?<br>
&gt;&gt; ,----[ cat test_data ]<br>&gt;&gt; | joao<br>&gt;&gt; | maria<br>&gt;&gt; | antonio<br>&gt;&gt; | a<br>&gt;&gt; | linguagem<br>&gt;&gt; | programacao<br>&gt;&gt; | b<br>&gt;&gt; | elizabeth<br>&gt;&gt; | kenia<br>
&gt;&gt; `----<br>&gt;&gt; ,----[ cat test_data | grep &quot;linguagem\|programacao&quot; ]<br>&gt;&gt; | linguagem<br>&gt;&gt; | programacao<br>&gt;&gt; `----<br>&gt;&gt;<br>&gt;&gt; Leonardo&gt; Eu consegui fazer um script para isso, entretanto<br>
&gt;&gt; Leonardo&gt; somente consegui que ele funcione, quando o amanho dos<br>&gt;&gt; Leonardo&gt; registros são iguais. Como faço para resolver esse<br>&gt;&gt; Leonardo&gt; problema tendo um arquivo com registros de tamnho<br>
&gt;&gt; Leonardo&gt; diferente?<br>&gt;&gt;<br>&gt;&gt; Se você mostrar o código, com um exemplo da execução, fica mais fácil te<br>&gt;&gt; ajudar.<br>&gt;&gt;<br>&gt;&gt; --<br>&gt;&gt; Eden Cardim<br>&gt;&gt; Software Engineer<br>
&gt;&gt; +55 73 9986-3963<br>&gt;&gt; <a href="http://edencardim.com">edencardim.com</a><br>&gt;&gt; _______________________________________________<br>&gt;&gt; Cascavel-pm mailing list<br>&gt;&gt; <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br></div>