在日志文件的文件名中包含小时

时间:2012-11-27 18:28:38

标签: solaris ksh

我有一个ksh脚本,我正在创建一个logFileName,如下所示:

logFileName=result_`date +%y%m%d_%k%M%S`.log

这会在大多数情况下产生正确的文件名,如下所示:

result_121127_121010.log

然而,在午夜,它会产生以下文件名:

result_121127_ 01010.log

关于如何解决这个问题的想法?基本上,我正在寻找%k以外的其他东西来在ksh中使用date命令查找小时。

1 个答案:

答案 0 :(得分:2)

将%k替换为%H,因为前者不填充小时,0表示单位数小时。

logFileName=result_`date +%y%m%d_%H%M%S`.log

或等效的

logFileName=result_$(date +%y%m%d_%H%M%S).log

请注意,着名的Y2K错误表明最好使用一整年,如:

logFileName=result_$(date +%Y%m%d_%H%M%S).log