Bom, nova tacada, voltando aos requisitos originais: #!perl -ln /;/;$,=$&;$l{$'}//=$i++;$c{$`}[$l{$'}]=1}{print X=>keys%l;print $_,@{$c{$_}}[values%l]for keys%c
Just another Perl Hacker, Fernando (SmokeMachine) Em 1 de junho de 2012 14:54, Manoel Domingues Junior < manoel.domingues.jun...@gmail.com> escreveu: > Eu ainda estou testando todas as alternativas dadas e tentando entender > algumas...rsrs > > Em tese, a primeira coluna e primeira linha não tem relação uma com as > outras, ou seja, os dados podem se repetir ou não... > > Estava pensando em usar o Text::CSV para adicionar um elemento (no caso > "1") na posicao $1 $2, onde: > > ($a0,$a1) = (Manoel,João) > > Se der erro, vejo se a coluna existe, se existir adiciono a linha, senão > existir adiciono a coluna... > > Acho que assim vai... estou testando... > > Abraços, > > Em 1 de junho de 2012 14:45, Fernando Oliveira > <fernandocor...@gmail.com>escreveu: > > Se a segunda coluna tiver mais elementos inexistentes na 1a, esses não >> aparecem. >> Continuamos assim? ou voltamos do inicio? >> >> >> >> Just another Perl Hacker, >> Fernando (SmokeMachine) >> >> >> 2012/6/1 Fernando Oliveira <fernandocor...@gmail.com> >> >>> Mas e então? O arquivo foi aceito? >>> >>> E tem mais uma coisa: desde a 1a tacada do Stanislaw, se os elementos de >>> antes do ";" forem diferentes do de depois, a tabela fica errada... >>> >>> >>> Just another Perl Hacker, >>> Fernando (SmokeMachine) >>> >>> >>> 2012/6/1 Fernando Oliveira <fernandocor...@gmail.com> >>> >>>> Então façamos como arquivo: >>>> >>>> #!perl -ln >>>> $m{$`}{$'}=/;/;$,=$&}{print X=>@a=keys%m;print$_,@{$m{$_}}{@a}for@a >>>> >>>> >>>> >>>> Just another Perl Hacker, >>>> Fernando (SmokeMachine) >>>> >>>> >>>> 2012/6/1 Stanislaw Pusep <creakt...@gmail.com> >>>> >>>>> Em bash, pelo menos, teria que rodar como: >>>>> >>>>> perl -MEnglish -lnE'$m{$`}{$POSTMATCH}=/;/;$,=$&}{say >>>>> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt >>>>> >>>>> ABS() >>>>> >>>>> >>>>> >>>>> >>>>> On Fri, Jun 1, 2012 at 1:31 PM, Fernando Oliveira < >>>>> fernandocor...@gmail.com> wrote: >>>>> >>>>>> C:\>perl -lnE"$m{$`}{$'}=/;/;$,=$&}{say >>>>>> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a" tabela.txt >>>>>> >>>>>> >>>>>> >>>>>> Just another Perl Hacker, >>>>>> Fernando (SmokeMachine) >>>>>> >>>>>> >>>>>> 2012/6/1 Fernando Oliveira <fernandocor...@gmail.com> >>>>>> >>>>>>> bom... aqui no windows funfa... :P >>>>>>> no windows eu to usando o "" no -e... >>>>>>> >>>>>>> >>>>>>> >>>>>>> Just another Perl Hacker, >>>>>>> Fernando (SmokeMachine) >>>>>>> >>>>>>> >>>>>>> 2012/6/1 breno <br...@rio.pm.org> >>>>>>> >>>>>>>> Ha! Alguém consegue usar $' na shell sem escapar? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep < >>>>>>>> creakt...@gmail.com> wrote: >>>>>>>> >>>>>>>>> C:\> :( >>>>>>>>> >>>>>>>>> ABS() >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira < >>>>>>>>> fernandocor...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> C:\>perl -lnE"/;/;$,=$&;++$m{$`}{$'}}{say >>>>>>>>>> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a" tabela.txt >>>>>>>>>> X;Joao;Pedro;Manoel >>>>>>>>>> Joao;;1; >>>>>>>>>> Pedro;;;1 >>>>>>>>>> Manoel;;1; >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Just another Perl Hacker, >>>>>>>>>> Fernando (SmokeMachine) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2012/6/1 breno <br...@rio.pm.org> >>>>>>>>>> >>>>>>>>>>> perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=";";say >>>>>>>>>>> >>>>>>>>>>> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Rio-pm mailing list >>>>>>>>>> Rio-pm@pm.org >>>>>>>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Rio-pm mailing list >>>>>>>>> Rio-pm@pm.org >>>>>>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Rio-pm mailing list >>>>>>>> Rio-pm@pm.org >>>>>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Rio-pm mailing list >>>>>> Rio-pm@pm.org >>>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Rio-pm mailing list >>>>> Rio-pm@pm.org >>>>> http://mail.pm.org/mailman/listinfo/rio-pm >>>>> >>>> >>>> >>> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > > -- > -- > Manoel Domingues Junior > "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados > é o primeiro passo para a comunidade." > IBM - Prodigy Linux > > > _______________________________________________ > Rio-pm mailing list > Rio-pm@pm.org > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm