
¿Cómo puedo utilizar elfecha¿Comando para averiguar el número de días del mes actual y del próximo?
Respuesta1
Fuerza bruta: genera los próximos 31 y 62 días y toma el mayor número:
month=$(date +%m)
maxDayThisMonth=$(( for d in {00..31}; do date -d "+$d days" +%m-%d ; done ; ) | grep -Po "(?<=$month-)\d+" | sort -rn | head -1)
nextMonth=$(printf "%02d" $(( ($month+1) % 12 )) )
maxDayNextMonth=$(( for d in {01..62}; do date -d "+$d days" +%m-%d ; done ; ) | grep -Po "(?<=$nextMonth-)\d+" | sort -rn | head -1)
grep -P
es un GNU-ismo pero como es para Linux... De lo contrario, puedes reemplazarlo por un grep
+ más convencional cut
.