[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Expressões regulares usando SED
From: |
miguelcm86 |
Subject: |
Re: Expressões regulares usando SED |
Date: |
Fri, 02 Nov 2007 20:34:53 -0000 |
User-agent: |
eGroups-EW/0.82 |
Olá
estou a manipular o valor desta forma
read=$(sed -n '/State=/{s///;p}' relatorio)
só que quando faço:
[ $read -lt 1 ] && teste && read=1
dá-me este erro:
line 13: [: -lt: operador unário esperado
Eu gostaria de que ele verifica-se o read se era menor que 1 e caso
isso acontece-se teria de entrar na função teste e por o read a 1.
Obrigado e abraços ;)
>
> Miguel, os raciocínios são varios até vc conseguir o que quer.
>
> Quando vc apresentou o arquivo com esta linha:
> State=24
>
> Genericamente vc procura por algo do tipo
>
> Nome=Valor
>
> Ou seja, tudo o que está antes do = é o nome da variavel, e depois é
o valor
> da mesma.
>
> Uma forma, exata, de fazer isso é determinar a posição do caracter =
nessa
> palavra. Se fr na posição 6, por exemplo, eu sei que os 6-1
caracteres dessa
> linha é o nome da minha variavel e, da posição 7 em diante, é o seu
> conteúdo.
>
> Porém isso é um processo chato. Se eu tenho isso:
>
> Nome=Valor
>
> e quero isso:
>
> Valor
>
> Não basta remover o a primeira parte dessa linha ? Se sim, o sed é
> fantastico pra isso
>
> sed 's/Nome=//'
>
> E se eu estivesse pensando em algo do tipo
>
> Informação[delimitador]outra informação
>
> Isso é tarefa pro awk
>
> awk -F '=' '{ print $2 }' # ou seja, o segundo campo separado por '='
>
> Enfim, depende da forma como vc vê o problema. Se é apenas manipular uma
> parte de um texto ou extrair uma determinada informação.
>
> On 11/2/07, miguelcm86 <miguelcm86@...> wrote:
> >
> > Boas pessoal
> >
> > Isto é que foi uma chuva de opções e uma demonstração do poder do
> > shell script.
> >
> > Já que estão numa de mostrar maneiras possíveis, era boa onda se
> > explicassem o raciocínio que tiveram e os comandos mais complicados
> > que usaram, pois algumas soluções como as que estão em baixo, que
> > sinceramente não é nada trivial, gera confusão.
> >
> > Abraços e obrigado a todos.
> >
> > --- Em address@hidden
<shell-script%40yahoogrupos.com.br>,
> > Fabiano Caixeta Duarte
> > <fcd.listas@> escreveu
> > >
> > > Gentil de Bortoli Jr escreveu:
> > > > On 11/1/07, miranda <miranda@> wrote:
> > > >> Veja uma outra opção :
> > > >>
> > > >> [miranda@guitar tmp]$ cat a
> > > >> State=15 The Bewlay Brothers Alternate Mix
> > > >> [miranda@guitar tmp]$ VAR1=$(grep State= a)
> > > >> [miranda@guitar tmp]$ echo $VAR1
> > > >> State=15 The Bewlay Brothers Alternate Mix
> > > >> [miranda@guitar tmp]$ VAR2=${VAR1#State=}
> > > >> [miranda@guitar tmp]$ echo $VAR2
> > > >> 15 The Bewlay Brothers Alternate Mix
> > > >
> > > > OK. Já que estamos demonstrando, vai mais uma, só a título de
> > curiosidade:
> > > >
> > > > [gentil@gentil:~]$ cat a
> > > > State=24
> > > > [gentil@gentil:~]$ IFS="=" ; set - $(cat a) ; echo $2
> > > > 24
> > >
> > > Já que as expressões regulares ficaram de lado faz tempo nesta
thread,
> > > vai mais uma solução:
> > >
> > > eval $(<a); echo $State
> > >
> > > --
> > > Fabiano Caixeta Duarte
> > > Especialista em Redes de Computadores
> > > Linux User #195299
> > > Ribeirão Preto - SP
> > >
> >
> >
> >
>
>
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> http://peczenyj.blogspot.com/
> "what does not kill us makes us stronger"
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
- Re: [shell-script] Re: Expressões regulares usando SED, (continued)
- Re: [shell-script] Expressões regulares usando SED, miranda, 2007/11/01
- Re: [shell-script] Expressões regulares usando SED, Gentil de Bortoli Jr, 2007/11/01
- Re: [shell-script] Expressões regulares usando SED, Fabiano Caixeta Duarte, 2007/11/01
- Re: Expressões regulares usando SED, miguelcm86, 2007/11/02
- Re: [shell-script] Re: Expressões regulares usando SED, Tiago Barcellos Peczenyj, 2007/11/02
- Re: Expressões regulares usando SED,
miguelcm86 <=
- Re: [shell-script] Re: Expressões regulares usando SED, Tiago Barcellos Peczenyj, 2007/11/02
- Re: [shell-script] Re: Expressões regulares usando SED, Fabiano Caixeta Duarte, 2007/11/05
- Re: Expressões regulares usando SED, miguelcm86, 2007/11/05
- Re: Expressões regulares usando SED (novo problema), miguelcm86, 2007/11/05
- Re: [shell-script] Re: Expressões regulares usando SED, Fabiano Caixeta Duarte, 2007/11/05