显示当前date和时间没有标点符号

例如,我想要显示当前的date和时间格式如下:

yyyymmddhhmmss 

我怎么做? 看起来大多数date格式都带有-/ ,:等。

干得好:

 date +%Y%m%d%H%M%S 

如上图所示, man date可以使用date命令,如下所示:

  date [OPTION]... [+FORMAT] 

也就是说,你可以给它一个格式参数,从一个+开始。 您大概可以猜到我使用的格式化符号的含义:

  • %Y是一年
  • %m是月份
  • %d是一天
  • … 等等

你可以在man datefind这个和其他格式化符号。

shell脚本中的一个简单例子

 #!/bin/bash current_date_time="`date +%Y%m%d%H%M%S`"; echo $current_date_time; 

不带标点格式: – +%Y%m%d%H%M%S
标点符号: – +%Y-%m-%d%H:%M:%S

如果你使用Bash,你也可以使用下面的命令之一:

 printf '%(%Y%m%d%H%M%S)T' # prints the current time printf '%(%Y%m%d%H%M%S)T' -1 # same as above printf '%(%Y%m%d%H%M%S)T' -2 # prints the time the shell was invoked 

您可以使用Option -v varname将结果存储在$varname而不是将其打印到stdout:

 printf -v varname '%(%Y%m%d%H%M%S)T' 

虽然date命令总是在子shell中执行(即在一个单独的进程中),printf是内置命令,因此会更快。