1 votos

cero de la almohadilla de números en `cal` (o `gcal`) de salida?

Esto me pareció bastante fácil, pero no he encontrado una buena manera de hacerlo.

En la Terminal, cal le dan este resultado:

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

Que es, se mostrará el calendario del mes actual.

Me gustaría tener la pantalla así:

September 2015 Su Mo Tu We Th Fr Sa 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Esto parece que sería bastante fácil de hacer, pero hasta ahora yo no puedo descifrarlo.

Inicialmente pensé que sería sólo tienes que buscar los números del 1 al 9, con un espacio en cada lado. Que funciona... excepto si el número es el sábado o el domingo, porque entonces no hay ningún avance y retroceso de relleno.

Así que estoy en una pérdida. Incluso me parecía en GNU cal que parece tener un bazillion opciones, pero no pude encontrar uno para esto.

Estoy seguro de que hay una manera de hacer esto con sed/awk/tr/etc pero no puedo averiguar. Preferiría como "ligero" de una solución posible, ya que esto es algo que va a ejecutar con frecuencia, pero no estoy negativas para la instalación de algo a través de brew si se puede hacer un mejor trabajo más eficiente.

2voto

sed al rescate:

pse@Mithos:~$ cal 09 2015 | sed -e 's/ \([[:digit:]]\) /0\1 /g' \
                                -e 's/ \([[:digit:]]\)$/0\1/g'
   September 2015
Su Mo Tu We Th Fr Sa
      01 02 03 04 05
06 07 08 09 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

La combinación de los dos sed comandos en uno se deja como ejercicio para el lector.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X