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