Linux/Unix Shell Scripting - [solucionado] Obtener el último día del mes actual y no actual

 
Vista:
Imágen de perfil de kip
Val: 66
Plata
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

[solucionado] Obtener el último día del mes actual y no actual

Publicado por kip (17 intervenciones) el 02/10/2017 17:12:33
Una de las tantas formas de obtener el último día del mes actual desde consola:

1
date -d "$(date -d "+1 month" "+%Y%m01") - 1 day" "+%Y/%m/%d"

Mostrara pro ejemplo:

1
2017/10/31

Con esta linea es posible crear un script para enviar el año y el mes del que se quiere obtener el dato, algo simple podría ser:

1
2
3
4
5
6
#!/usr/bin/env bash
 
year="$1"
month="$2"
dateTemp=$(date -d "${year}${month}01 + 1 month")
date -d "$dateTemp - 1 day" "+%Y/%m/%d"

Entonces ejecutamos el script asi:
1
./sample.sh 2017 10

Y mostrara:

1
2017/10/31
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder