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

Leonardo Gerheim general_andrade em yahoo.com.br
Terça Fevereiro 22 04:36:38 PST 2011


    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/d6e92302/attachment.html>


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