如何在shell脚本中将当前日期与标题联系起来?

时间:2016-08-25 11:43:27

标签: excel shell testing automated-tests

我正在使用excel表格处理shellcript。到现在为止,我已经按照以下命令完成了屏幕截图所示:

bash execution.sh BehatIPOP.xls| awk '/Script|scenario/' | awk 'BEGIN{print "Title\tResult"}1' | awk '0 == NR%2{printf "%s",$0;next;}1' >> BehatIPOP.xls

enter image description here

我的要求是标题结果我想要添加(concat)当前日期。所以我通过使用以下命令来获取日期:

$(date +"%d-%m-%y %H:%M:%S")  

所以日期会显示如下:25-08-2016 17:00:00

但是我没有得到如何在上面提到的命令中使用date命令来实现如下的标题:

 |      Title       |   Result @ 25-08-2016 17:00:00|

感谢您的任何建议..

2 个答案:

答案 0 :(得分:0)

您可以在awk内选择日期并将其存储在这样的变量d中,如果这是您的意思:

awk 'BEGIN{cmd="date +\"%d-%m-%y %H:%M:%S\""; cmd |getline d; close(cmd);print "Result @ " d}'
Result @ 25-08-16 13:44:05

答案 1 :(得分:0)

根本不要使用awk作为标题,只需直接使用date

{ printf "Title\tResult @ "; date +"%d-%m-%y %H:%M:%S"; bash execution.sh BehatIPOP.xls | 
    awk '/Script|scenario/' | 
    awk '1 == NR%2{printf "%s",$0;next;}1'; } >> BehatIPOP.xls

请注意,不需要2个awks,但我保留这里以最小化差异。由于我已将标题从awk中删除,因此比较从0==NR%2更改为1==NR%2