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

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

Re: [shell-script] Re: Contar linha com texto - expressão regular


From: Tiago Peczenyj
Subject: Re: [shell-script] Re: Contar linha com texto - expressão regular
Date: Tue, 8 Oct 2013 09:49:03 -0300

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 <address@hidden>
 

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

reply via email to

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