Estoy intentando ejecutar este comando date +'%-4.4h %2.1d %H:%M'
pero el resultado no es correcto:
%-4.4h %2.1d 12:50
Creo que hay algún problema con mi terminal Ubuntu o con el código. ¿Algún consejo, por favor? pd: principiante
Respuesta1
Hasta donde yo sé, %-4.4h
y %2.1d
no son especificadores de formato válidos para el date
comando GNU; en particular, los modificadores de precisión no tienen sentido y no son compatibles. Los modificadores aceptados son:
After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available.
("decimal" aquí solo significa dígitos del 0 al 9).
Los especificadores de formato para el nombre completo del mes y el día del mes son %B
y %d
respectivamente (puede usar minúsculas %b
o %h
para el nombre abreviado del mes, por ejemplo, Sep
para September
). Así por ejemplo:
$ date +'%B %d %H:%M'
May 12 07:46
$ date +'%B %d %H:%M' -d 'today + 4 months'
September 12 07:48
$ date +'%b %d %H:%M' -d 'today + 4 months'
Sep 12 07:50
Tenga en cuenta que los especificadores de ancho de campo sonmínimoanchos, así por ejemplo
$ date +'%4B %4d %H:%M'
May 0012 08:04
rellena May
a 4 caracteres, pero
$ date +'%4B %4d %H:%M' -d 'today + 4 months'
September 0012 08:03
no se trunca September
a Sept
.
Consulte man date
para obtener una lista completa de %
especificadores.