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: Fri, 8 Feb 2013 10:28:44 -0200

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 <ENTER> 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 - <ENTER>. Como estamos usando complemento e só tínhamos os caracteres
de controle, sobrou para a exclusão (-d) os caracteres de controle exceto o
<ENTER>.

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]



reply via email to

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