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

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

Re: [shell-script] Penúltima segunda feira


From: Julio C. Neves
Subject: Re: [shell-script] Penúltima segunda feira
Date: Wed, 19 Aug 2009 14:03:33 -0300

Fala PJ,

O que vc fez, seria o mesmo que:
SEGUNDA=`expr \`dton.sh\` - \`date +%w\` - 6`
DIA=`ntod.sh $SEGUNDA`

Que, usando uma notação mais moderna, seria o mesmo que:
SEGUNDA=$(expr $(dton.sh) - $(date +%w) - 6)
DIA=$(ntod.sh $SEGUNDA)

Que, usando os operadores aritméticos do bash e do ksh (muito mais
otimizados que expr), seria o mesmo que:
SEGUNDA=$($[$(dton.sh) - $(date +%w) - 6)]
DIA=$(ntod.sh $SEGUNDA)

E finalmente fazendo um one-liner, vem:
DIA=$(ntod.sh $($[$(dton.sh) - $(date +%w) - 6)])

Se o seu programa em Shell tem mais de 3 linhas, desconfie! :o)
-- 
Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- Em SP ligue (11) 2125-4747 (dias 29-30/08 e 12-13/09);
- Em DF ligue (61) 3223-3000;
- No RJ ligue (21) 2561-0867;
- Turmas fechadas em outras cidades ligue (21) 8112-9988.

2009/8/18 José Paulo de Oliveira Petry <address@hidden>

>
>
> Julio,
>
> Utilizei os scripts recomendados e funcionou corretamente.
>
> Segue abaixo como fiz:
>
> periodo()
> {
> # Funcao para encontrar a data da penultima segunda feira
> # Que dia da semana eh hoje?
> HOJE=`date +%w`
> # Quantos dias se passaram de 01/01/1980 ?
> QTOS_DIAS=`dton.sh`
> # Quando foi o ultimo domingo ?
> DOMINGO=`expr ${QTOS_DIAS} - ${HOJE}`
> # Quando foi a penultima segunda feira ?
> SEGUNDA=`expr $DOMINGO - 6`
> # Converter para dia/mes/ano
> DIA=`ntod.sh ${SEGUNDA}`
>
> logar "Periodo da consulta: Semana que se inicia em ${DIA} ( ${DIA_UTIME} )
> "
> }
> Valeu,
> JP
>
> 2009/7/31 Julio C. Neves <address@hidden <julio.neves%40gmail.com>>
>
> >
> >
> > Olá José Paulo,
> >
> > Como o seu date não tem a opção -d, calculo que vc esteja usando Unix e,
> > assim sendo, pesquise no google dton.sh e ntod.sh que vc irá encontrá-los
> > aqui na lista.
> >
> > O primeiro transforma uma data em número de dias decorridos a partir de
> > 01/01/1980 e o segundo transforma o número em data novamente. Assim vc
> > deverá transformar a data de hoje (6a feira) em número, subtrair 5 para a
> > última segunda e subtrair 7 para a outra segunda. Pronto agora é só
> chamar
> > o
> > ntod.sh para converter para a nova data.
> >
> > Esses 2 scripts trabalhando juntos têm muita utilidade. Sevem p. ex. para
> > calcular diferença entre 2 datas e para somar ou subtrair dias de uma
> > determinada data.
> >
> > Ahh! Já ia me esquecendo. Estes scripts foram feitos para o korn shell,
> mas
> > tb rodam em bash.
> > --
> > Abraços,
> > Julio
> > Cursos de Shell e Zenity?
> > - Em SP ligue (11) 2125-4747;
> > - Em DF ligue (61) 3223-3000;
> > - No RJ ligue (21) 2561-0867;
> > - Turmas fechadas em outras cidades ligue (21) 8112-9988.
> >
> > 2009/7/31 José Paulo de Oliveira Petry <address@hidden<petrybr%40gmail.com>
> <petrybr%40gmail.com>
> > >
> >
> > >
> > >
> > > Olá,
> > >
> > > Estou fazendo um script e em certo ponto dele eu preciso descobrir o
> dia
> > no
> > > formado DD/MM/AAAA da penúltima segunda-feira.
> > >
> > > Alguma ideia de como fazer???
> > >
> > > Valeu
> > > JP
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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