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

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


Esqueci de dizer q tem q passar o nome do arquivo! Tipo:
perl -F, -nale '...' arquivo.txt
Em 22/02/2011 10:17, "Fernando Oliveira" <fernandocorrea em gmail.com>
escreveu:
> 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/5888286b/attachment.html>


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