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

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

Re: [shell-script] Re: Expressões regulares usando SED (novo problema)


From: William José Vicente
Subject: Re: [shell-script] Re: Expressões regulares usando SED (novo problema)
Date: Thu, 8 Nov 2007 09:59:14 -0200

Miguel,

   estou um pouco atrasado :-), mas sobre o problema do SED, eu acho que se
você fizer uma pequena alteração na primeira parte (expressão), pode usar o
SED como o Tiago tinha indicado. Veja abaixo:

   Você está usando:
     verify=$(mount | sed -n '/ on \/ /{s/ on \/ .*//;p}')

   Acho que você poderia usar:
     verify=$(mount | sed -n '/ on \/ .*/{s/ on \/ .*//;p}')

   A diferença foi utilizar o .* na primeira parte (expressão).
   Então daria para simplificar (como o Tiago indicou anteriormente), veja:
      verify=$(mount | sed -n '/ on \/ .*/{s///;p}')

   Eu não testei, mas acredito que funcione. :-)

Abraços,

   William




Em 06/11/07, Tiago Barcellos Peczenyj <address@hidden> escreveu:
>
>   Miguel, o -eq é para comparações numéricas.
>
> $ id=043fecd0
>
> $ outro_id=043fecd0
>
> $ [[ $id = $outro_id ]] && echo "sao iguais" || echo "sao diferentes"
> sao iguais
>
> $ outro_id=043fecd1
>
> $ [[ $id = $outro_id ]] && echo "sao iguais" || echo "sao diferentes"
> sao diferentes
>
> $ [[ $id -eq $outro_id ]] && echo "sao iguais" || echo "sao diferentes"
> bash: [[: 043fecd0: value too great for base (error token is "043fecd0")
> sao diferentes
>
> use o operador = nesse caso ;-)
> On Nov 6, 2007 3:33 PM, miguelcm86 <address@hidden<miguelcm86%40yahoo.com.br>>
> wrote:
> >
> > Boas...
> >
> > Bem isto está quase lá, estou agora a ter problemas na comparação das
> > strings UUID. Talvez porque são strings complexas do tipo:
> > hj34-jk323-3j3k23m-23nk32.....
> >
> > estou a fazer assim:
> > primeiro recebo a string do disco:
> > ## Inserir na variável id a identificação da partição '/':
> >
> >
> > verify=$(mount | sed -n '/ on \/ /{s/ on \/ .*//;p}')
> > id=$(sudo vol_id $verify | sed -n '/ID_FS_UUID=/{s///;p}')
> >
> > está a inserir em id a string certa!!
> >
> > depois leio a srting que está guardado no ficheiro report:
> >
> > id_file=$(sed -n '/ID_FS_UUID=/{s///;p}' report)
> >
> > agora testo se é igual, se não for, aviso ao usuário e meto state=0:
> >
> > [[ "$id_file" -eq "$id" ]] || echo "id não corresponde" && state="0"
> >
> > o erro que me dá na hora de verificação é este:
> >
> > ./choicet.sh: line 35: [[: 043fecd0: valor muito grande para a base
> > (error token is "043fecd0")
> >
> > Alguém sabe onde estou a errar, já agora expliquem o problema ;)
> >
> > Obrigado pessoal por tudo
> >
> >
> >
>
> --
> 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]



reply via email to

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