GNU/Linux >> Linux Esercitazione >  >> Linux

Come rimuovere gli zeri iniziali dall'output di "data" o evitare l'interpretazione ottale di tali numeri decimali?

Ho questo:

date +"%H hours and %M minutes"

Uso festival per dirlo.. ma dice come:"zero nove ore".. Voglio che dica "nove ore"!

ma la data mi dia sempre 09... quindi mi chiedo se bash può facilmente farla diventare solo 9?

nello script complesso ho provato come

printf %d 09

ma fallisce.. non ottale 🙁

qualche idea?

Risposta accettata:

  • Nel tuo caso, puoi semplicemente disabilitare lo zero padding aggiungendo - dopo % nella stringa di formato della data:%-H

    Per impostazione predefinita, la data riempie i campi numerici con zeri. I seguenti flag facoltativi possono seguire '%':

    • - (trattino) non riempire il campo
    • _ (sottolineatura) pad con spazi
    • (zero) pad con zeri
    • ^ se possibile usa maiuscolo
    • # se possibile usa il caso opposto

    Vedi il manuale della data

  • Se vuoi interpretare il numero in base diversa, in bash

    • Le costanti con uno 0 iniziale vengono interpretate come numeri ottali.
    • Uno 0x o 0X iniziale denota esadecimale.
    • Altrimenti, i numeri assumono la forma [base#]n, dove base è un numero decimale compreso tra 2 e 64 che rappresenta la base aritmetica e n è un numero in quella base

    Quindi, per interpretare un numero come decimale, usa 10#n forma, ad es. 10#09

    echo $((10#09*2))
    18
    

    Vedi la sezione Valutazione aritmetica del manuale di bash.


Linux
  1. Come fare in modo che "data" produca l'ora da un fuso orario diverso?

  2. Come rimuovere la Bom da un file Utf-8?

  3. Come estrarre il tempo di durata dall'output di ffmpeg?

  4. Come rimuovere iso 9660 da USB?

  5. Come rimuovo VS Code e impostazioni da Ubuntu?

Come rimuovere la password da un file PDF in Linux

Come rimuovere un comando dalla cronologia in Linux

Come rimuovere (^M) caratteri da un file in Linux

Come rimuovere gli spazi dai nomi dei file in Linux

Come creare un grafico grafico di una sequenza di numeri dall'input standard?

Come rimuovere Swap Space da Centos 7.x?