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.