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

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

Re: [shell-script] Validação de datas


From: PY2YP
Subject: Re: [shell-script] Validação de datas
Date: Wed, 8 Nov 2017 15:35:42 -0200
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

Muito obrigado Júlio.

--
Cesar

On 08/11/2017 14:45, 'Julio C. Neves' address@hidden [shell-script] wrote:
$ (($(sed -r 's/[^,]+,(.*),.*/\1/; s|/||g; s/,/-/' <<< 3XY3D,2015/09/30,2015/09/21,AF094) > 0)) && echo Data final \< inicial

Onde:

  * ((...)) - servem para chamar o interpretador aritmético do Bash;
  * O sed está dividido em 3 partes:

     1. s/[^,]+,(.*),.*/\1/ - Deixa somente as datas separadas por virgula;
     2. s|/||g - Mata as barras (/) ficando as dtas com formato AAAMMDD;
     3. s/,/-/ - Troca a vírgula entre as datas por um sinal de subtração.

  * Se o resultado for positivo, isto é, a date inicial for maior que a
    final, será dada a msg de erro

Tb poderia, de uma forma menos elegante, ser feito assim:
$ (( $(cut -f2,3 -d,  <<< 3XY3D,2015/09/30,2015/09/21,AF094 | tr -d / | tr , -) > 0)) && echo Data final \< inicial

Shell é muuuuuito econômico!! ;)



reply via email to

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