-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

| como eu faço para descobrir o ultimo dia de cada mês em linha de
| comando Shell ??

Não achei a mensagem na lista, mas já vi um one liner utilizando o comando cal.

Enfim, é só tratar o resultado do comando cal, que gera o calendário de um 
determinado mes e/ou ano, como um array. Senão vejamos:

[EMAIL PROTECTED]:~$ cal
~      May 2008
Su Mo Tu We Th Fr Sa
~             1  2  3
~ 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Por padrão, ano e mes correntes.

[EMAIL PROTECTED]:~$ echo $(cal 05 2008)
May 2008 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
20 21 22 23 24 25 26 27 28 29 30 31

Ótimo. Uma visão mais "programistica". Queremos o ultimo elemento desse array

awk tem uma variável chamada $NF, que faz exatamente o que precisamos:


[EMAIL PROTECTED]:~$ echo $(cal 05 2008) | awk '{print $NF}'
31

Testando:

[EMAIL PROTECTED]:~$ for MES in $(seq -w 1 12) ; do echo -n "Ultimo dia do Mes 
de $MES/2008 = " ; echo $(cal $MES 2008) | awk '{print
$NF}' ; done
Ultimo dia do Mes de 01/2008 = 31
Ultimo dia do Mes de 02/2008 = 29
Ultimo dia do Mes de 03/2008 = 31
Ultimo dia do Mes de 04/2008 = 30
Ultimo dia do Mes de 05/2008 = 31
Ultimo dia do Mes de 06/2008 = 30
Ultimo dia do Mes de 07/2008 = 31
Ultimo dia do Mes de 08/2008 = 31
Ultimo dia do Mes de 09/2008 = 30
Ultimo dia do Mes de 10/2008 = 31
Ultimo dia do Mes de 11/2008 = 30
Ultimo dia do Mes de 12/2008 = 31





- --

Um abraço

.0. MrBiTs - [EMAIL PROTECTED]
..0 GnuPG  - 
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFINgFKrDdxWm3R8YYRAnPOAKCb2QszoJzT/f4lp/raq/uf79h7KACgikHw
Yy3jEtkE6QHXW4MYkZK2xNM=
=ywpx
-----END PGP SIGNATURE-----

Responder a