Aqu*_*wer 43 shell bash date arithmetic
我有这个:
date +"%H hours and %M minutes"
Run Code Online (Sandbox Code Playgroud)
我用节日来表达..但它说:“零九小时”..我想让它说“九小时”!
但是 date 总是给我 09 ......所以我想知道 bash 是否可以轻松地使它变成 9 ?
在我试过的复杂脚本中
printf %d 09
Run Code Online (Sandbox Code Playgroud)
但它失败了..不是八进制:(
任何的想法?
Liu*_* 刘研 57
在您的情况下,您可以简单地通过附加禁用零填充 -
之后%
日期的格式字符串:%-H
默认情况下,日期用零填充数字字段。以下可选标志可以跟在“%”之后:
-
(连字符)不要填充字段_
(下划线)用空格填充0
(零)用零填充^
如果可能,请使用大写#
如果可能,使用相反的情况
见日期手册
如果你想在不同的基数中解释数字,在 bash 中
- 带有前导 0 的常量被解释为八进制数。
- 前导 0x 或 0X 表示十六进制。
- 否则,数字采用 [base#]n 的形式,其中 base 是表示算术基数的 2 到 64 之间的十进制数,n 是该基数中的数字
因此,要将数字解释为十进制,请使用10#n
形式,例如。10#09
echo $((10#09*2))
18
Run Code Online (Sandbox Code Playgroud)
请参阅bash 手册的算术评估部分。
归档时间: |
|
查看次数: |
25032 次 |
最近记录: |