shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] wc -l contando linhas errado?


From: Alfredo Casanova
Subject: Re: [shell-script] wc -l contando linhas errado?
Date: Wed, 6 Feb 2013 16:22:42 -0200

resolveu o problema, mas ainda não matou a curiosidade nesse trecho:

$ wc -l 06_02_2013_11_17_33_CSV.CSV
554 06_02_2013_11_17_33_CSV.CSV

e o mais estranho:
se eu retirar as "linhas em branco", ele me dá uma linha a mais!

$ cat 06_02_2013_11_17_33_CSV.CSV | grep -v ^$ | wc -l
555

$ cat 06_02_2013_11_17_33_CSV.CSV | grep  ^$ | wc -l
0



2013/2/6 Tiago Peczenyj <address@hidden>

> **
>
>
> O que importa é que resolve o seu problema. ;-)
>
> 2013/2/6 Alfredo Casanova address@hidden>
>
>
> > sei que poderia fazer de mil maneiras mais simples, mas aproveitei pra
> > aprender mais sobre o IFS, sempre tive dificuldades hehehe
> >
> >
> > 2013/2/6 Alfredo Casanova address@hidden>
> >
> > > Morreu
> > > é uma falha no sistema de onde esse CSV é extraído... eu usava dois
> > > determinados campos - que são mandatórios - para usar como índice, e
> em 3
> > > dessas linhas um desses campos aparece em branco.
> > >
> > > para descobrir o erro sem percorrer ele todo no "olhômetro", fiz o
> > > seguinte script:
> > >
> > > conta(){
> > > oIFS="$IFS"; IFS=, ; set -- $1 ; IFS="$oIFS"
> > > [ $# -ne 2 ] && echo "$i: faltando argumentos"
> > > }
> > >
> > > for i in $(cat 06_02_2013_11_17_33_CSV.CSV | cut -f9,4 -d, | cut -f1
> -d"
> > ")
> > > do
> > > conta $i
> > > done
> > >
> > > não me julguem! :)
> > >
> > >
> > >
> > > 2013/2/6 Tiago Peczenyj address@hidden>
> > >
> > >> **
>
> > >>
> > >>
> > >> Alfredo.
> > >>
> > >> faça isto:
> > >>
> > >> sed 's/\(...\).*/\1/' arquivo> novo
> > >>
> > >> e faça os testes com o novo. se continuar dando problema coloque este
> > >> arquivo em um gist ou pastebin da vida.
> > >>
> > >> perceba que estou pegando apenas os 3 primeiros caracteres de cada
> > linha,
> > >> portanto o conteudo do arquivo não sera de conhecimento publico.
> > >>
> > >> 2013/2/6 Alfredo Casanova address@hidden>
> > >>
> > >>
> > >> > verifiquei tudo isso, não existe nenhum tipo de linha em branco...
> > >> > quando uso o nl ou o cat -n todas as linhas mostradas são de fato
> > >> linhas do
> > >> > arquivo
> > >> >
> > >> >
> > >> > 2013/2/6 Alysson Gonçalves de Azevedo address@hidden>
> > >> >
> > >> > > **
> > >>
> > >> > >
> > >> > >
> > >> > > Me lembro vagamente de que o cat coloca um "enter" a mais no final
> > do
> > >> > > arquivo.
> > >> > > Só não lembro onde li isso ou porque penso isso.
> > >> > >
> > >> > > Eu abriria esse arquivo num editor de texto e olharia qual indice
> da
> > >> > última
> > >> > > linha (ou usaria o nl).
> > >> > > Se for 554, considere que o último enter é do cat e que está sendo
> > >> > > contabilizado quando você joga a saída do arquivo pra algum outro
> > >> > programa
> > >> > > via pipe.
> > >> > >
> > >> > > E se essa minha opnião tiver errada, por favor, corrija-me.
> > >> > >
> > >> > > Alysson Gonçalves de Azevedo - (11) 984 917 730
> > >> > >
> > >> > > "É curioso como as pessoas ficam confusas quando a frase não
> > terminam
> > >> do
> > >> > > jeito que elas periquito."
> > >> > >
> > >> > > Em 6 de fevereiro de 2013 14:25, Tiago Peczenyj
> > >> > > address@hidden>escreveu:
> > >> > >
> > >> > >
> > >> > > > Sem ver o arquivo não consigo imaginar o que houve.
> > >> > > >
> > >> > > > Agora eu imaginaria que tem um caracter \r em algum lugar.
> > >> > > >
> > >> > > > 2013/2/6 Alfredo Casanova address@hidden>
> > >> > > >
> > >> > > > > **
> > >> > > > >
> > >> > > > >
> > >> > > > > Seguinte, fiz um script que recebe um CSV, faz uns
> tratamentos e
> > >> gera
> > >> > > um
> > >> > > > > gráfico usando o google chart api em um html
> > >> > > > >
> > >> > > > > sempre funcionou certinho, mas hoje tive um probleminha
> > >> > > > > O sistema contabilizou 551 registros, mas deveria contar 554,
>
> > >> q o
> > >> > > > > arquivo tem 555 linhas e a primeira é descartada.
> > >> > > > >
> > >> > > > > Não consegui identificar o problema
> > >> > > > >
> > >> > > > > $ file 06_02_2013_11_17_33_CSV.CSV
> > >> > > > > 06_02_2013_11_17_33_CSV.CSV: UTF-8 Unicode text, with very
> long
> > >> lines
> > >> > > > >
> > >> > > > > $ cat -n 06_02_2013_11_17_33_CSV.CSV | tail -1 | cut -f1
> > >> > > > > 555
> > >> > > > >
> > >> > > > > $ wc -l 06_02_2013_11_17_33_CSV.CSV
> > >> > > > > 554 06_02_2013_11_17_33_CSV.CSV
> > >> > > > >
> > >> > > > > e o mais estranho:
> > >> > > > > se eu retirar as "linhas em branco", ele me dá uma linha a
> mais!
> > >> > > > >
> > >> > > > > $ cat 06_02_2013_11_17_33_CSV.CSV | grep -v ^$ | wc -l
> > >> > > > > 555
> > >> > > > >
> > >> > > > > $ cat 06_02_2013_11_17_33_CSV.CSV | grep ^$ | wc -l
> > >> > > > > 0
> > >> > > > >
> > >> > > > > alguém tem alguma ideia pra ajudar a rastrear o problema?
> > >> > > > >
> > >> > > > > --
> > >> > > > > []'s
> > >> > > > > Alfredo Casanova
> > >> > > > > Linux User #228230
> > >> > > > > msn: address@hidden
> > >> > > > > tel: +55 61 9655 9619
> > >> > > > >
> > >> > > > > [As partes desta mensagem que não continham texto foram
> > removidas]
> > >> > > > >
> > >> > > > >
> > >> > > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > --
> > >> > > > Tiago B. Peczenyj
> > >> > > > Linux User #405772
> > >> > > >
> > >> > > > http://about.me/peczenyj
> > >> > > >
> > >> > > >
> > >> > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > ------------------------------------
> > >> > > >
> > >> > > > ----------------------------------------------------------
> > >> > > > Esta lista não admite a abordagem de outras liguagens de
> > >> programação,
> > >> > > como
> > >> > > > perl, C etc. Quem insistir em não seguir esta regra será
> moderado
> > >> sem
> > >> > > > prévio aviso.
> > >> > > > ----------------------------------------------------------
> > >> > > > Sair da lista: address@hidden
> > >> > > > ----------------------------------------------------------
> > >> > > > Esta lista é moderada de acordo com o previsto em
> > >> > > > http://www.listas-discussao.cjb.net
> > >> > > > ----------------------------------------------------------
> > >> > > > Servidor Newsgroup da lista: news.gmane.org
> > >> > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >> > > >
> > >> > > > Links do Yahoo! Grupos
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > >
> > >> > > [As partes desta mensagem que não continham texto foram removidas]
> > >> > >
> > >> > >
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > []'s
> > >> > Alfredo Casanova
> > >> > Linux User #228230
> > >> > msn: address@hidden
> > >> > tel: +55 61 9655 9619
> > >> >
> > >> >
> > >> > [As partes desta mensagem que não continham texto foram removidas]
> > >> >
> > >> >
> > >> >
> > >> > ------------------------------------
> > >> >
> > >> > ----------------------------------------------------------
> > >> > Esta lista não admite a abordagem de outras liguagens de
> programação,
> > >> como
> > >> > perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem
> > >> > prévio aviso.
> > >> > ----------------------------------------------------------
> > >> > Sair da lista: address@hidden
> > >> > ----------------------------------------------------------
> > >> > Esta lista é moderada de acordo com o previsto em
> > >> > http://www.listas-discussao.cjb.net
> > >> > ----------------------------------------------------------
> > >> > Servidor Newsgroup da lista: news.gmane.org
> > >> > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >> >
> > >> > Links do Yahoo! Grupos
> > >> >
> > >> >
> > >> >
> > >>
> > >> --
> > >> Tiago B. Peczenyj
> > >> Linux User #405772
> > >>
> > >> http://about.me/peczenyj
> > >>
> > >> [As partes desta mensagem que não continham texto foram removidas]
> > >>
> > >>
> > >>
> > >
> > >
> > >
> > > --
> > > []'s
> > > Alfredo Casanova
> > > Linux User #228230
> > > msn: address@hidden
> > > tel: +55 61 9655 9619
> > >
> >
> >
> >
> > --
> > []'s
> > Alfredo Casanova
> > Linux User #228230
> > msn: address@hidden
> > tel: +55 61 9655 9619
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como
> > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > prévio aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
> >
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]