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?
GNU cal tiene una --starting-day
opció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
ncal
tambié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
$ man cal
dice: "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 ncal
en lugar de implementar un truco feo.
Es posible instalar la misma versión de Linux que viene con -m
opció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.
julián