我正在使用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
我的要求是标题结果我想要添加(concat)当前日期。所以我通过使用以下命令来获取日期:
$(date +"%d-%m-%y %H:%M:%S")
所以日期会显示如下:25-08-2016 17:00:00
但是我没有得到如何在上面提到的命令中使用date命令来实现如下的标题:
| Title | Result @ 25-08-2016 17:00:00|
感谢您的任何建议..
答案 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
。