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:12:31 -0200

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, já
>> 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]



reply via email to

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