[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
date
From: |
rafael.nery |
Subject: |
date |
Date: |
Mon, 12 Jun 2006 10:10:31 -0300 |
Tiago Barcellos Peczenyj,
Agora fiquei confuso no que vc fez...
Ficou muito complexo.
#!/bin/bash
# le uma data no formato DD/MM/YYYY HH:MI:SS
# caso o dia seja um fim de semana : sab/dom
# e esteja fora da faixa 6:30:00 a 18:30:00
# imprime algo
echo "$@" | awk -F"[ \t:/]" '
function seconds(h,m,s){ # retorna o numero de segundos dessa hora !
return 60*(60*h + m)+s;
}
{
date=$3" "$2" "$1" "$4" "$5" "$6
weekday=strftime("%a",mktime(date))
sec_day = seconds($4,$5,$6)
sec_down = seconds(18,30,00)
sec_up = seconds( 6,30,00)
if(weekday == "Sun" || weekday == "Sat"){
#print "final de semana"
if((sec_day < sec_up)||(sec_day > sec_down)){
# acho que eh isso que vc quer, senao eh so
alterar o if!
print "fora do horario"
}
}
}'
Em 09/06/06, rafael.nery<address@hidden> escreveu:
> Pessoal,
> A variavel DATE, uma data no formato:
> DD/MM/YYYY HH:MI:SS.
> Como posso fazer um script para verificar se ela está entre 18:30 e 6:30 e se
> o dia não é final de semana.
> Estou tentando algo do tipo:
> #!/bin/bash
> horaAtual="date"
> hora1="18:30"
> hora2="06:30"
> data="date +%a"
> if [ "$horaAtual" -ge "$hora1" -a "$horaAtual" -le "$hora2" -a
> then
> echo "nao"
> exit1
> #else "sim"
> fi
>
> Mas nào está funcionando e falta tb o dia.
> Alguém me ajuda?
> Obrigado,
> Rafael.
>
>
>
- date, rafael.nery, 2006/06/09