GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo eliminar los ceros iniciales de la salida de 'fecha' o evitar la interpretación octal de tales números decimales?

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.


Linux
  1. ¿Cómo eliminar una sola línea del historial?

  2. Cómo desinstalar aria2 de Ubuntu

  3. ¿Cómo elimino líneas nuevas de un archivo de texto?

  4. ¿Cómo extraer el tiempo de duración de la salida ffmpeg?

  5. ¿Cómo puedo eliminar Jenkins por completo de Linux?

Cómo quitar la contraseña de un archivo PDF en Linux

Cómo quitar un comando del historial en Linux

Cómo quitar (^M) caracteres de un archivo en Linux

Cómo quitar espacios de los nombres de archivo en Linux

¿Cómo hacer un diagrama gráfico de una secuencia de números a partir de la entrada estándar?

¿Cómo eliminar Swap Space de Centos 7.x?