-----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-----