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: Julio C. Neves
Subject: Re: [shell-script] wc -l contando linhas errado?
Date: Wed, 13 Feb 2013 15:37:04 -0200

É... A única coisa que falta no meu repertório é examinar o texto e ver se
não há algum caractere de controle corrompendo o resultado.

Abcs,
Julio
A partir de  01/04  lecionarei um
curso completo de Shell em Recife
Clique aqui <http://www.fuctura.com.br/cursos/curso-de-shell-scripts/>
para mais  detalhes.
@juliobash




Em 13 de fevereiro de 2013 15:02, Alfredo Casanova
<address@hidden>escreveu:

> $ IFS=
> $  tr -cd '[:print:]\n' < 06_02_2013_11_17_33_CSV.CSV | wc -l
> 554
> $  tr -cd '[:print:]\n' < 06_02_2013_11_17_33_CSV.CSV | cat -n | tail -1 |
> cut -f1
>    555
>
>
>
> 2013/2/8 Julio C. Neves <address@hidden>
>
> > **
> >
> >
> > Qdo vc fez o grep '[[:cntrl:]]' vc teve a curiosidade de ver quais eram
> os
> > 17(?) caracteres de controle? Quais eram?
> >
> > Não sei mais o que pensar. Só vejo saída de um erro de caractere de
> > controle ou então de um IFS bichado.
> >
> > Faça mais um favor. Execute as mesmas linhas, porém da seguinte forma:
> >
> > $ IFS=
> >
> > $ tr -cd '[:print:]\n' < 06_02_2013_11_17_33_CSV.CSV | wc -l
> > $ tr -cd '[:print:]\n' < 06_02_2013_11_17_33_CSV.CSV | cat -n | tail -1 |
> > cut
> > -f1
> >
> > Abcs,
> > Julio
> > A partir de 01/04 lecionarei um
> > curso completo de Shell em Recife
> > Clique aqui http://www.fuctura.com.br/cursos/curso-de-shell-scripts/>
> > para mais detalhes.
> > @juliobash
> >
> > Em 8 de fevereiro de 2013 14:56, Alfredo Casanova
> > address@hidden>escreveu:
> >
> > > $ tr -cd '[:print:]\n' < 06_02_2013_11_17_33_CSV.CSV | wc -l
> > > 554
> > >
> > > $ tr -cd '[:print:]\n' < 06_02_2013_11_17_33_CSV.CSV | cat -n | tail
> -1 |
> > > cut -f1
> > > 555
> > >
> > >
> > >
> > > 2013/2/8 Julio C. Neves address@hidden>
> > >
> > > > **
> >
> > > >
> > > >
> > > > Isso é óbvio que iria acontecer. Não sei por onde andava a minha
> cabeça
> > > > podre qdo escrevi isso. Aquela linha matava todos os caracteres de
> > > controle
> > > > e o tb é um caractere de controle.
> > > >
> > > > O que eu deveria ter escrito para ser feito, seria:
> > > >
> > > > tr -cd '[:print:]\n' < 06_02_2013_11_17_33_CSV.CSV | wc -l
> > > >
> > > > e
> > > >
> > > > tr -cd '[:print:]\n' < 06_02_2013_11_17_33_CSV.CSV | cat -n
> > > >
> > > > a opção -c do tr significa complemento, isto é, ele irá detonar tudo
> > que
> > > > não seja:
> > > > [:print:] - Imprimível. Então só restarão os caracteres de controle;
> > > > \n - . Como estamos usando complemento e só tínhamos os caracteres
> > > > de controle, sobrou para a exclusão (-d) os caracteres de controle
> > > exceto o
> > > > .
> > > >
> > > > Achei a minha explicação um pouco confusa, mas estou sem saco de
> > > melhorar.
> > > > É véspera de carnaval!
> > > >
> > > > Bom carnaval para todos e não se esqueçam: se algum de vcs sair
> > > fantasiado
> > > > de baiana, me mande a foto... ;)
> > > >
> > > >
> > > > Abcs,
> > > > Julio
> > > > A partir de 01/04 lecionarei um
> > > > curso completo de Shell em Recife
> > > > Clique aqui http://www.fuctura.com.br/cursos/curso-de-shell-scripts/
> >
> > > > para mais detalhes.
> > > > @juliobash
> > > >
> > > > Em 7 de fevereiro de 2013 13:09, Alfredo Casanova
> > > > address@hidden>escreveu:
> > > >
> > > >
> > > > > O wc -l retornou 0
> > > > > o cat -n imprimiu todo o conteúdo do arquivo em uma só linha
> > > > >
> > > > >
> > > > > 2013/2/7 Julio C. Neves address@hidden>
> > > > >
> > > > > > **
> > > >
> > > > > >
> > > > > >
> > > > > > Isso significa que esse seu arquivo tem 75 linhas com caracteres
> de
> > > > > > controle, e algum(ns) dele(s) que deve(m) estar causando esta
> > > bagunça.
> > > > > >
> > > > > > Se vc fizer:
> > > > > >
> > > > > > cat -vet 06_02_2013_11_17_33_CSV.CSV | grep -F ^
> > > > > >
> > > > > > As linhas com caracteres de controle serão exibidas.
> > > > > >
> > > > > > Se eu estiver correto, se vc fizer:
> > > > > >
> > > > > > $ tr -d [:cntrl:] < 06_02_2013_11_17_33_CSV.CSV | wc -l
> > > > > >
> > > > > > A qtd de linha será a mesma que:
> > > > > >
> > > > > > $ tr -d [:cntrl:] < 06_02_2013_11_17_33_CSV.CSV | cat -n
> > > > > >
> > > > > >
> > > > > > Abcs,
> > > > > > Julio
> > > > > > A partir de 01/04 lecionarei um
> > > > > > curso completo de Shell em Recife
> > > > > > Clique aqui
> > http://www.fuctura.com.br/cursos/curso-de-shell-scripts/
> > > >
> > > > > > para mais detalhes.
> > > > > > @juliobash
> > > > > >
> > > > > > Em 7 de fevereiro de 2013 10:46, Alfredo Casanova
> > > > > > address@hidden>escreveu:
> > > > > >
> > > > > >
> > > > > > > $ cat -vet 06_02_2013_11_17_33_CSV.CSV | grep -Fc ^
> > > > > > > 75
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > 2013/2/6 Julio C. Neves address@hidden>
> > > > > > >
> > > > > > > > **
> > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Concordo totalmente com o Tiago.
> > > > > > > > Alfredo, por favor faça o seguinte e nos relate que número
> > > voltou:
> > > > > > > >
> > > > > > > > $ cat -vet arquivo | grep -Fc ^
> > > > > > > >
> > > > > > > > Essa sintaxe do cat lista os caracteres de controle no
> formato
> > ^T
> > > > > onde
> > > > > > T
> > > > > > > é
> > > > > > > > a tecla que foi pressionada junto com e que deve estar
> fazendo
> > > toda
> > > > > > > > essa lambança.
> > > > > > > >
> > > > > > > > Abcs,
> > > > > > > > Julio
> > > > > > > > A partir de 01/04 lecionarei um
> > > > > > > > curso completo de Shell em Recife
> > > > > > > > Clique aqui
> > > > http://www.fuctura.com.br/cursos/curso-de-shell-scripts/
> > > > > >
> > > > > > > > para mais detalhes.
> > > > > > > > @juliobash
> > > > > > > >
> > > > > > > >
> > > > > > > > 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
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > > [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
> > > > >
> > > > >
> > > > >
> > > >
> > > > [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
> > >
> > >
> > >
> >
> > [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
>
>
>


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



reply via email to

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