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

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

Re: [shell-script] Script


From: Eldimar Souza
Subject: Re: [shell-script] Script
Date: Wed, 29 Jun 2016 14:13:20 -0300

De fato, a Solução do Raul inverte tudo, usei a sugestão do Douglas, funcionou, obrigado Galera.

2016-06-29 13:44 GMT-03:00 Douglas Bussoli Mugnos address@hidden [shell-script] <address@hidden>:
 

Itamar, sua solução é mais adequada para solucionar o problema.Nada como deixar o bash fazer o trabalho sujo né ?!


#A primeira solução
$ time echo $( DDMMAAAA=12101991
> day=$(cut -c1-2 <<< $DDMMAAAA)
> month=$(cut -c3-4 <<< $DDMMAAAA)
> year=$(cut -c5-8 <<< $DDMMAAAA)
> echo $year$month$day)
19911012
real    0m0.033s
user    0m0.003s
sys    0m0.010s

#A primeira solução simplificada
$ time echo $( DDMMAAAA=12101991
> cut -c5-8,3-5,1-2 <<< $DDMMAAAA)
12101991
real    0m0.010s
user    0m0.001s
sys    0m0.002s


#Solução sem utilização do cut
$ time echo $( DDMMAAAA=12101991
> DATAINV=${DDMMAAAA:4}${DDMMAAAA:2:2}${DDMMAAAA:0:2}
> echo $DATAINV)
19911012
real    0m0.001s
user    0m0.000s
sys    0m0.000s


abraço!


2016-06-29 13:18 GMT-03:00 address@hidden [shell-script] <address@hidden>:
 

Raul

Essa solução não serve pois inverte tudo inclusive os números do dia, mês e ano

A solução que o Douglas apresentou é mais adequada e no embalo dela dou meu pitaco:


$ DDMMAAAA=12101991

$ DATAINV=${DDMMAAAA:4}${DDMMAAAA:2:2}${DDMMAAAA:0:2}

$ echo $DATAINV
19911012

É só mais uma sugestão aproveitando apenas o bash

[]'s
Itamar




--
Douglas Bussoli Mugnos  
E-mail : address@hidden 
Telefone  : (19) 9 8117-7277




--
         Eldimar Jaconias de Souza
          Analista  de Suporte Pleno      
      Tel: (61) 9228-9214 / 3048-1034

"O que fazer, pra onde ir senhor se só tu tens as palavras de Vida Eterna"

  ºvº     "Software Livre: não é pelo dinheiro.
/( _ )\    É uma questão de consciência."
 ^  ^


reply via email to

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