[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Calculo com Datas
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Calculo com Datas |
Date: |
Tue, 5 Apr 2005 09:42:56 -0300 |
Fala Eliphas,
com as soluções estapafurdias que demos para o dr_maluko, periga pintar um
monte de Maluko na lista :).
Ambas têm o algorítimo muito rebuscado, mas achei a lógica da tua mais
eficiente.
[ ]s,
Julio
:wq
| -----Mensagem original-----
| De: Eliphas Levy Theodoro [mailto:address@hidden]
| Enviada em: terça-feira, 5 de abril de 2005 02:01
| Para: address@hidden
| Assunto: Re: [shell-script] Calculo com Datas
|
|
|
|
| Eita Júlio!
|
| Eu tinha deixado essa pra lá porque o que eu escrevi pareceu
| complicado
| demais, mas perto dessa tua, resolvi até mostrar o que fiz ;)
|
| $ cat weekday
| FirstWeekDay=$(cal $2 $3 | sed -n '3s/ *//gp' | wc -c)
| WeekDay=$((((7-FirstWeekDay+$1)%7)+1))
| echo "Dom Seg Ter Qua Qui Sex Sáb" | cut -d" " -f$WeekDay
|
| $ sh weekday 5 5 2005
| Ter
|
| Primeiro eu pego a primeira semana do mês (FirstWeekDay) e descubro
| onde ela começa.
|
| Depois adiciono o dia, pego o resto da divisão por 7, e adiciono 1 ao
| resultado. E uso o cut pra pegar o "rótulo".
|
| Ei, e descobri um side effect legal:
|
| $ sh weekday 31 4 2005
| Dom
| $ sh weekday 32 4 2005
| Seg
|
| Heh. Quem disse que Abril tem só 30 dias? :D
|
| --
| Eliphas
|
|
| Julio Cezar Neves - DATAPREVRJ, @ 01/04/05 - 16:31:
|
| > Aê Maluko,
| > para a data de hoje p.ex. execute assim:
| >
| > Prompt> script 1 4 2005
| > Prompt> cat script
| > for ((i=1; i<=7; i++)); do
| > col=$(cal $2 $3 | tail +2 | cut -c$(((i-1)*3+1)),$(((i-1)*3+2)))
| > echo $col | grep -q " $1 " && echo $col | cut -f1 -d' '
| > done
| >
| > -----Mensagem original-----
| > De: dr_maluko [mailto:address@hidden]
| > Enviada em: quinta-feira, 31 de março de 2005 14:34
| >
| > Estou querendo descobrir o dia da semana de uma data específica,
|
| [As partes desta mensagem que não continham texto foram removidas]
|
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos