[Cascavel-pm] Res: Acesso aleatório à arquivos

Fernando Oliveira fernandocorrea em gmail.com
Terça Fevereiro 22 05:17:23 PST 2011


perl -F, -nale 'push @{ $pessoa{$F[0]} }, @F[1 .. $#F]; END{print "$_ => ",
join ", ", @{ $pessoa{$_} } }'

Codigo escrito no cel e não testado!
GOLF?!
Em 22/02/2011 09:36, "Leonardo Gerheim" <general_andrade em yahoo.com.br>
escreveu:
> Agradeço à todos pelas respostas. Mas realmente não consegui me expressar,

> como coloquei um exemplo não específico ficou realmente complicado o
> entendimento. A minha intenção é a seguinte:
> Eu quero poder movimentar dentro do arquivo, ou seja, avançar e recuar uma

> uma linha do arquivo.
>
> ex de INPUT:
>
> joao,10,15
> joao,10,10
> joao,8,9
> maria,7,9
> maria,6,9
> maria,4,10
>
> onde temos respectivamente o nome do aluno a nota A e a nota B, mas
queremos
> gerar um OUTPUT:
>
> joao 10,10,8
> 15,10,9
> maria 7,6,4
> 9,9,10
>
>
> Ou seja, uma nota após a outra.
>
> Para isso, pensei em ler a primeira linha, imprimir as notas notas uma
> embaixo da outra, logoa após isso teria que retornar à primneira linha
para
> imprimir o segundo conjunto de notas, enquanto o nome do aluno for o
mesmo. O
> que não consegui fazer é essa parte de movimentar dentro do arquivo,
avançando e
> recuando em arquivos que tenham registros de tamanho diferente.
> Caso existe um algoritmo mais simples por for me ajudem a montá-lo, mas de

> qualquer forma me expliquei como avançar e recuar linhas.
>
> Att.
>
> P.S: A solução do Eden na sua última resposta resolveu a última questão,
eu que
> me expressei totalmente mal.
>
>
>
>
>
>
>
> ________________________________
> De: Eden Cardim <edencardim em gmail.com>
> Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
> Enviadas: Terça-feira, 22 de Fevereiro de 2011 9:04:35
> Assunto: Re: [Cascavel-pm] Acesso aleatório à arquivos
>
>>>>>> "Leonardo" == Leonardo Gerheim <general_andrade em yahoo.com.br> writes:
>
> Leonardo> Olá pessoal, Preciso ler um arquivo e quando em uma
> Leonardo> determinada linha contiver um valor, ele pular para a
> Leonardo> próxima linha e quando encontrar um segundo valor não
> Leonardo> imprimir mais nada, como no exemplo abaixo:
>
> Não ficou claro o que você quer aqui, mostra um exemplo da entrada e da
> saída esperada.
>
> Leonardo> joao- não imprimir
> Leonardo> maria- não imprimir
> Leonardo> antonio- não imprimir
> Leonardo> a- não imprimir
> Leonardo> linguagem- IMPRIMIR
> Leonardo> programacao- IMPRIMIR
> Leonardo> b- não imprimir
> Leonardo> elizabeth- não imprimir
> Leonardo> kenia- não imprimir
>
> Isso é a entrada ou a saída do programa?
> grep não resolve?
> ,----[ cat test_data ]
> | joao
> | maria
> | antonio
> | a
> | linguagem
> | programacao
> | b
> | elizabeth
> | kenia
> `----
> ,----[ cat test_data | grep "linguagem\|programacao" ]
> | linguagem
> | programacao
> `----
>
> Leonardo> Eu consegui fazer um script para isso, entretanto
> Leonardo> somente consegui que ele funcione, quando o amanho dos
> Leonardo> registros são iguais. Como faço para resolver esse
> Leonardo> problema tendo um arquivo com registros de tamnho
> Leonardo> diferente?
>
> Se você mostrar o código, com um exemplo da execução, fica mais fácil te
> ajudar.
>
> --
> Eden Cardim
> Software Engineer
> +55 73 9986-3963
> edencardim.com
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20110222/2cb7adbb/attachment.html>


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