[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: RES: [shell-script] Maior linha
From: |
Fábio Batista |
Subject: |
Re: RES: RES: [shell-script] Maior linha |
Date: |
Fri, 29 Oct 2004 15:26:29 -0300 |
O seu WC não tem o parâmetro -L ?
[fabio@elefante testes]$ wc --version
wc (coreutils) 5.2.1
Written by Paul Rubin and David MacKenzie.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[fabio@elefante testes]$ wc --help
Usage: wc [OPTION]... [FILE]...
Print newline, word, and byte counts for each FILE, and a total line if
more than one FILE is specified. With no FILE, or when FILE is -,
read standard input.
-c, --bytes print the byte counts
-m, --chars print the character counts
-l, --lines print the newline counts
-L, --max-line-length print the length of the longest line
-w, --words print the word counts
--help display this help and exit
--version output version information and exit
Report bugs to <address@hidden>.
[fabio@elefante testes]$ wc -L maior.txt
91 maior.txt
Fábio David Batista
address@hidden
http://fabiobatista.multiply.com
On Thu, 28 Oct 2004 19:08:45 -0000, fpasa <address@hidden> wrote:
>
> Julio,
>
> executei a solução em alguns arquivos grandes (cerca de 300.000
> linhas) e levou cerca de 1,5 hora .
> Vc tem alguma idéia para otimizar isso ?
>
> abraço,
> Fabiano
>
>
> --- Em address@hidden, Julio Cezar Neves -
> DATAPREVRJ <julio.neves@p...> escreveu
> > Aê Fabiano,
> > Olha o teste que fiz:
> >
> > Prompt> Linha="123 "
> > Prompt> echo ${#Linha}
> > 6
> >
> > Conforme era esperado. Mas em todo caso experimente fazer:
> >
> > Max=0
> > while read Linha
> > do
> > [ $(expr length "$Linha") -gt $Max ] && Max=$(expr
> length "$Linha")
> > done < Arquivo
> > echo $Max
> >
> > [ ]s,
> > Julio Cezar Neves
> > - Gerente do Programa de Software Livre -
> > Tel:+55 21 2528-7070 / +55 21 8112-9988
> > Fax: +55 21 2528-7646
> > mailto:julio.neves@p...
> >
> >
> > | -----Mensagem original-----
> > | De: fpasa [mailto:shell.script@t...]
> > | Enviada em: quinta-feira, 21 de outubro de 2004 17:38
> > | Para: address@hidden
> > | Assunto: Re: RES: [shell-script] Maior linha
> > |
> > |
> > |
> > |
> > | Julio, na verdade não funcionou 100% . Quando existem espaços em
> > | branco no final da linha ele não conta.
> > |
> > | Vc tem alguma idéia ?
> > |
> > | abraço,
> > | Fabiano
> > |
> > | --- Em address@hidden, "fpasa"
> <shell.script@t...>
> > | escreveu
> > | >
> > | > Julio, funcionou blz.
> > | >
> > | > Valeu pela ajuda.
> > | >
> > | > abraço,
> > | > Fabiano
> > | >
> > | >
> > | > --- Em address@hidden, Julio Cezar Neves -
> > | > DATAPREVRJ <julio.neves@p...> escreveu
> > | > > Aê Fabiano,
> > | > > sem testar:
> > | > >
> > | > > Max=0
> > | > > while read Linha
> > | > > do
> > | > > [ ${#Linha} -gt $Max ] && Max=${#Linha}
> > | > > done < Arquivo
> > | > > echo $Max
> > | > >
> > | > > A construção ${#Linha} é um parameter substitution que
> devolve o
> > | > tamanho da
> > | > > variavel Linha. Caso vc esteja usando Bourne Shell, substitua-
> a
> > | por
> > | > expr
> > | > > length $Linha
> > | > >
> > | > > [ ]s,
> > | > > Julio Cezar Neves
> > | > > - Gerente do Programa de Software Livre -
> > | > > Tel:+55 21 2528-7070 / +55 21 8112-9988
> > | > > Fax: +55 21 2528-7646
> > | > > mailto:julio.neves@p...
> > | > >
> > | > >
> > | > > | -----Mensagem original-----
> > | > > | De: fpasa [mailto:shell.script@t...]
> > | > > | Enviada em: quinta-feira, 21 de outubro de 2004 16:58
> > | > > | Para: address@hidden
> > | > > | Assunto: [shell-script] Maior linha
> > | > > |
> > | > > |
> > | > > |
> > | > > |
> > | > > | Pessoal,
> > | > > |
> > | > > | como faço para percorrer um arquivo e verificar qual o
> tamanho
> > | da
> > | > > | maior linha do mesmo, incluindo espaços em branco ?
> > | > > |
> > | > > | Exemplo:
> > | > > | aaaaaaaaaaaaaaaaaa
> > | > > | aaaaaa
> > | > > | aaaaaaaaaaa
> > | > > | aaaaaaaaaaaaaaaaaaaaa
> > | > > | aaaaaaaaaaaaa
> > | > > | aaaa
> > | > > |
> > | > > | Neste caso a 4ª linha possui 21 posições, logo 21 é a maior
> > | > > | quantidade de posições.
> > | > > |
> > | > > |
> > | > > | abraços,
> > | > > | Fabiano
> > | > > |
> > | > > |
> > | > > |
> > | > > |
> > | > > |
> > | > > |
> > | > > |
> > | > > |
> > | > > |
> > | > > |
> > | > > | ------------------------------------------------------------
> ----
> > | --
> > | > ---
> > | > > | 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
> > | > > --------------------------------------------------------------
> ----
> > | --
> > | > -
> > | > >
> > | > > Links do Yahoo! Grupos
> > |
> > |
> > |
> > |
> > |
> > | ------------------------------------------------------------------
> ---
> > | 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
> > --------------------------------------------------------------------
> -
> >
> > Links do Yahoo! Grupos
>
>
>
>
>
> ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>
>
>
>
> Yahoo! Grupos, um serviço oferecido por:
>
>
>
>
>
>
> ________________________________
> Links do Yahoo! Grupos
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.