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

[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!.


reply via email to

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