Tengo esto:
date +"%H hours and %M minutes"
Uso festival para decirlo... pero dice:"cero nueve horas". ¡Quiero que diga "nueve horas"!
pero la fecha siempre me da 09... así que me pregunto si bash puede hacer que sea solo 9.
en el script complejo que probé como
printf %d 09
pero falla.. no octal 🙁
¿alguna idea?
Respuesta aceptada:
-
En su caso, simplemente puede deshabilitar el relleno cero agregando
-
después de%
en la cadena de formato de fecha:%-H
De forma predeterminada, los campos numéricos de la fecha se rellenan con ceros. Las siguientes banderas opcionales pueden seguir a '%':
-
(guión) no rellenar el campo_
(guión bajo) pad con espacios(cero) pad con ceros
^
use mayúsculas si es posible#
use el caso contrario si es posible
Ver manual de fechas
-
Si desea interpretar el número en una base diferente, en bash
- Las constantes con un 0 inicial se interpretan como números octales.
- Un 0x o 0X inicial indica hexadecimal.
- De lo contrario, los números toman la forma [base#]n, donde base es un número decimal entre 2 y 64 que representa la base aritmética, y n es un número en esa base
Entonces, para interpretar un número como decimal, usa
10#n
forma, ej.10#09
echo $((10#09*2)) 18
Consulte la sección Evaluación aritmética del manual de bash.