En la CLI de Linux, ¿hay alguna forma de obtener el número de la semana del mes? ¿Tal vez hay otra forma de obtener esto con un simple date
comando (como )? Digamos que el día 1 al 7 es la primera semana, el día 8 al 14 es la segunda semana, y así sucesivamente.
10
Respuestas:
El
date
comando no puede hacer esto internamente, por lo que necesita algo de aritmética externa.Editar: se agregó un signo menos entre% y d
fuente
Puedes usar esto:
Lunes primer día de la semana
Domingo Abeto semana daty
fuente
Prueba esto:
fuente
simplificando la solución de Victor Sanchez:
reemplace% V con% U si desea semanas comenzando el domingo.
por cierto: tenía que usar expr en lugar de $ ((...)) porque a este último no parece gustarle los números con ceros a la izquierda.
fuente
Si acepta herramientas externas en su búsqueda, pruebe dateutils . Tiene la noción de fechas de ocurrencia dentro de un mes, es decir, el 27 de abril de 2012 es el cuarto viernes de abril de 2012, que solo coincide con la definición de su semana. Para obtener ese número, use:
%c
(cuenta) es el especificador de formato para la ocurrencia dentro del mes. O para ser aún más genial intentarlofuente