[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] Determinando Ultimo dia do Mes
From: |
Andreyev Dias de Melo |
Subject: |
Re: RES: [shell-script] Determinando Ultimo dia do Mes |
Date: |
Tue, 1 Feb 2005 15:02:21 +0000 |
On Mon, 31 Jan 2005 15:28:22 -0300, Julio Cezar Neves - DATAPREVRJ
<address@hidden> wrote:
>
> Aê MrBiTs,
> Não entendi legal o que o cara fez. Mas o que acho correto é o seguinte:
>
> set `cal 11 2004` ; shift $(($#-1)) ; echo $1
>
> O set transforma a saída do cal em parâmetros posicionais, assim $1 seria
> Novembro, $2 2004, $3 Su, ... e $n seria 28, 29, 30 ou 31. Assim se fizermos
> shift $(($#-1)) estaremos jogando fora os n-1 primeiros parâmetros só
> sobrando o último que será agora o $1.
Uma outra opção, mais 'clara para iniciantes', mas não tão elegante
como a acima é contar quantas palavras(wc -w) a saída do cal tem,
subtraindo deste número a quantidade de palavras referentes ao mês,
ano e aos dias da semana, mais ou menos assim:
$ echo $(( $(cal 11 2004 | wc -w) - 9 ))
30
BTW, em algum lugar mencionaram a velocidade, e builtin's são mais
rápidos que o wc:
$ time { set `cal 11 2004` ; shift $(($#-1)) ; echo $1;}
30
real 0m0.018s
user 0m0.012s
sys 0m0.003s
$ time echo $(( $(cal 11 2004 | wc -w) - 9 ))
30
real 0m0.025s
user 0m0.014s
sys 0m0.005s
Ou seja, leia o manual do bash, leia o livro do Julio! :-P
--
Andreyev
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: RES: [shell-script] Determinando Ultimo dia do Mes,
Andreyev Dias de Melo <=