comando cal - comienza el lunes

Me preguntaba: ¿hay alguna manera de hacer que 'cal' (un programa de terminal) comience la semana el lunes?

Por lo general, se puede hacer con el indicador -m, pero esto no tiene ningún efecto en la Mac. AFAIK, para freebsd necesitas deskutils, pero no pude encontrar ningún equivalente en Mac, incluso en homebrew.

¿Existe un interruptor o una fuente alternativa para una herramienta de calibración que permita cambios de inicio entre semana?

Respuestas (4)

GNU cal tiene una --starting-dayopción:

$ brew install gcal
$ alias cal='gcal --starting-day=1'
$ cal

      June 2013
 Mo Tu We Th Fr Sa Su
                 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

ncaltambién comienza semanas los lunes por defecto:

$ ncal
    June 2013
Mo     3 10 17 24
Tu     4 11 18 25
We     5 12 19 26
Th     6 13 20 27
Fr     7 14 21 28
Sa  1  8 15 22 29
Su  2  9 16 23 30

Este Macworld.com OS X Sugerencia muestra algunas secuencias de comandos para poner el lunes primero...

cal | awk '{ print " "$0; getline; print " Mo Tu We Th Fr Sa Su"; \
getline; if (substr($0,1,2) == " 1") print "                    1 "; \
do { prevline=$0; if (getline == 0) exit; print " " \
substr(prevline,4,17) " " substr($0,1,2) " "; } while (1) }'

Resultado:

      June 2013
 Mo Tu We Th Fr Sa Su
                 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 
esto es realmente feo pero genial! :-)

$ man caldice: "La utilidad cal muestra un calendario simple en formato tradicional y ncal ofrece un diseño alternativo, más opciones y la fecha de pascua. El nuevo formato es un poco estrecho pero hace que quepa un año en una terminal de 25x80. Si los argumentos no son especificado, se muestra el mes actual" . A mí me parece preferible usar ncalen lugar de implementar un truco feo.

Es posible instalar la misma versión de Linux que viene con -mopción para Mac a través de Homebrew, bajo el paquete util-linux.

$ brew install util-linux

Se instalará bajo /usr/local/opt/util-linux/bin.

$ /usr/local/opt/util-linux/bin/cal -m
     April 2022     
Mo Tu We Th Fr Sa Su
             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   
                    

Sin embargo , Homebrew no lo agregará automáticamente a la RUTA . Tendrá que hacer esto manualmente o usar un alias.