Zen*_*Zen 6 command-line bash date
我的同事正在生成带有前面日期格式的日志文件,例如2015120,代表一月1而不是01.
我用来处理此类问题的常用方法是使用datecommand.Like date +'%Y%m%d'。但是我使用了日期命令,结果他们没有提到在没有前面的 0 的情况下代表一月。
所以我想知道是否有另一种方式来表示2015120Linux 中的日期 ?
cuo*_*glm 24
对于 GNU、FreeBSD 或 OS/X date(或date使用系统的libc's 的实现strftime(),即 GNU libc),-在后面添加连字符%可防止数字字段被零填充:
$ date +'%Y%-m%d'
2015120
Run Code Online (Sandbox Code Playgroud)
从GNU 系统上的man 日期开始:
默认情况下,日期用零填充数字字段。以下可选标志可以跟在 `%' 后面:
-(连字符)不要填充字段
如果您的系统date不支持,您可以使用perl:
$ perl -MTime::Piece -e '
$t = localtime;
print $t->year, $t->mon, $t->mday;
'
2015122
Run Code Online (Sandbox Code Playgroud)
> date +'%Y %m %d' | ( read year month day; echo "${year}${month#0}${day}" )
2015120
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7617 次 |
| 最近记录: |