Linux/Unix Shell Scripting - [solucionado] obtener el ultimo dia de un mes dado desde consola (bash)

 
Vista:
Imágen de perfil de xve
Val: 104
Oro
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 ultimo dia de un mes dado desde consola (bash)

Publicado por xve (309 intervenciones) el 30/05/2013 20:39:43
Hola a todos, aquí os dejo una manera que he encontrado de saber el ultimo día del mes utilizando la instrucción cal.

Como todos sabeis, cal devuelve un calendario dado.
1
2
3
4
5
6
7
8
$ cal 05 2013
      May 2013
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

Entonces, lo que necesitamos es obtener el ultimo valor de la ultima linea.

con esta instrucción obtendremos la ultima linea:
1
2
$ cal 05 2013 | egrep "28|29|30|31" | tail -1
26 27 28 29 30 31


y con awk cogemos el ultimo valor:
1
2
$ cal 05 2013 | egrep "28|29|30|31" | tail -1 | awk '{print $NF}'
31


Espero que os sirva.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

[solucionado] obtener el ultimo dia de un mes dado desde consola (bash)

Publicado por Javier Trespalacios Arteta (1 intervención) el 02/10/2017 16:39:36
Excelente post, si se saca de apuros, aqui tengo una mejora para tomar cualquier ultimo dia de los meses del año, solo hay que hacer una pequeña modificacion

1
cal $(date +%m%d) | egrep "28|29|30|31" | tail -1 | awk '{print $NF}'

Este pequeño script lo utilizo en mi crontab para ejecutar tareas el ultimo dia del mes

quedaria asi.

1
cal $(date +%m%d) | egrep "28|29|30|31" | tail -1 | awk '{print $NF}' && $HOME/RUTA/SCRIPT.sh

Que les sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar