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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Contar linha com texto - expressão regular


From: nerobarrabas
Subject: Re: Contar linha com texto - expressão regular
Date: Tue, 08 Oct 2013 13:04:22 -0000
User-agent: eGroups-EW/0.82

Assim funfou.
Boa! :)
Vou anotar nos meus alfarrábios aqui.

Vlw.

Diramos

--- Em address@hidden, Cléoson Barreto <cleoson.barreto@...> escreveu
>
> Olá!
> 
>  Tente ${#linha}.
> 
> []'s
> Cléoson.
> 
> 
> 
> Em 8 de outubro de 2013 09:58, nerobarrabas <diramos@...> escreveu:
> 
> > **
> >
> >
> > Do jeito que falou, deu erro:
> >
> > $#linha: esperado expressão de número inteiro
> >
> > Diramos
> >
> > --- Em address@hidden, Tiago Peczenyj <tiago.peczenyj@>
> > escreveu
> >
> > >
> > > Ola
> > >
> > > vc fez de uma forma "pure shell" porem vc pode evitar o wc -L da seguinte
> > > forma
> > >
> > > if [ $#linha -ge 20 ]; then
> > >
> > > onde $#variavel retorna o tamanho da variavel
> > >
> > >
> > > 2013/10/8 nerobarrabas <diramos@>
> > >
> > > > **
> >
> > > >
> > > >
> > > > Fiz sem usar regexpr:
> > > > O arquivo:
> > > > $ cat arq.txt
> > > >
> > > > istotem17caracter
> > > > istotem21caracteresss
> > > > istotem22caracteressss
> > > > istotem14carac
> > > >
> > > > #!/bin/bash
> > > > for linha in $(cat arq.txt)
> > > > do
> > > > tamLinha=$(echo $linha | wc -L)
> > > > if [ $tamLinha -ge 20 ] ; then
> > > > echo $linha
> > > > fi
> > > > done
> > > >
> > > > Se quiser armazenar o resultado em novo arquivo, é só direcionar o echo
> > > > $linha prá ele. Assim:
> > > >
> > > > echo $linha >> arq1.txt
> > > >
> > > > Diramos
> > > >
> > > > --- Em address@hidden, Cyolfi Cyro <cyrocc@> escreveu
> >
> > > >
> > > > >
> > > > > Não vejo necessidade de uso de expressões regulares complexas no seu
> > > > caso:
> > > > >
> > > > > grep termo_que_se_procura arquivo.log | wc -l
> > > > >
> > > > > Att.
> > > > >
> > > > > Cyro Ciolfi
> > > > > (19) 98144 - 7944
> > > > > Robotic Department@CTI Renato Archer (19) 3746-6237
> > > > > Teacher@Metrocamp
> > > > >
> > > > >
> > > > > 2013/10/8 Listeiros <listeiros@>
> > > > >
> > > > > > **
> > > > > >
> > > > > >
> > > > > > Bom dia pessoal... Uma ajuda por favor,****
> > > > > >
> > > > > > ** **
> > > >
> > > > > >
> > > > > > Tenho um log que contem N linhas e eu preciso retirar desse texto
> > > > > > determinadas linhas que contenham as informações que preciso.****
> > > > > >
> > > > > > ** **
> > > >
> > > > > >
> > > > > > O texto está todo misturado, mas as linhas válidas que eu preciso
> > tem
> > > > pelo
> > > > > > menos mais de 20 caracteres. Então eu sei que essas linhas possuem
> > as
> > > > > > informações que eu quero. As demais linhas tem 2 ou 5 caracteres
> > então
> > > > > > posso descarta-las.****
> > > > > >
> > > > > > ** **
> > > >
> > > > > >
> > > > > > Estive vendo que é mais simples fazer essa busca utilizando
> > expressões
> > > > > > regulares, mas como não conheço muito não estou conseguindo
> > fazer.****
> > > > > >
> > > > > > ** **
> > > >
> > > > > >
> > > > > > Como fiquei curioso para saber como funcionaria com expressão
> > regular,
> > > > > > será que alguém ai pode me ajudar nessa? ****
> > > > > >
> > > > > > ** **
> > > >
> > > > > >
> > > > > > Como pode ser a expressão regular para exibir ou jogar num outro
> > > > arquivo
> > > > > > somente as linhas que tem mais de 20 caracteres?****
> > > > > >
> > > > > > ** **
> > > > > >
> > > > > > ** **
> > > > > >
> > > > > > Muito obrigado por qualquer ajuda!****
> > > > > >
> > > > > > ** **
> > > > > >
> > > > > > Até mais.****
> > > >
> > > > > >
> > > > > > ---
> > > > > > spam free by SafestMail4Outlook - www.sa4o.com
> > > > > > <http://www.sa4o.com>
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Tiago B. Peczenyj
> > > Linux User #405772
> > >
> > > http://about.me/peczenyj
> > >
> >
> >  
> >
> 
> 
> 
> -- 
> []'s
> Cléoson.
> http://farinhadigital.blogspot.com/
>




reply via email to

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