私はこれを持っています:
date +"%H hours and %M minutes"
お祭りを使って言いますが、「ゼロナインアワー」と書いてあります。「ナインアワー」と言いたいです!
しかし、日付は常に私に09を与えます…それで、bashがそれをたった9にするのは簡単でしょうか?
複雑なスクリプトで私は次のように試しました
printf %d 09
しかし失敗します..8進数ではありません🙁
何かアイデアはありますか?
承認された回答:
-
あなたの場合、
-
を追加することで、ゼロパディングを無効にすることができます。%
の後 日付の形式文字列:%-H
デフォルトでは、日付は数値フィールドにゼロを埋め込みます。次のオプションのフラグは「%」の後に続く場合があります:
-
-
(ハイフン)フィールドを埋めないでください -
_
(アンダースコア)スペース付きのパッド -
(ゼロ)ゼロのあるパッド
-
^
可能であれば大文字を使用してください -
#
可能であれば反対のケースを使用してください
日付マニュアルを参照
-
-
異なるベースで、bashで数値を解釈したい場合
- 先行0が付いた定数は、8進数として解釈されます。
- 先頭の0xまたは0Xは16進数を示します。
- それ以外の場合、数値は[base#] nの形式になります。ここで、基数は算術基数を表す2〜64の10進数であり、nはその基数の数値です
したがって、数値を10進数として解釈するには、
10#n
を使用します。 フォーム、例えば。10#09
echo $((10#09*2)) 18
bashマニュアルの算術評価のセクションを参照してください。