如何使用cygwin在txt文件中记录命令开始时间和命令结束时间

如何使用cygwin在txt文件中记录命令开始时间和命令结束时间

我可以使用以下命令保存并查看 cygwin 控制台输出(stdout 和 stderr),

python command.py 2>&1 | tee -a outFile.txt// Note -a is for appending

因为我有不同的命令,并且执行它们需要不同的时间。我怎样才能保存开始时间

09:00:00AM
file stream file stream file stream file stream 
file stream file stream file stream file stream 
.
.
.
file stream file stream file stream file stream 
09:07:20AM

请注意开始和结束时间戳。如果我能记录差异时间那就太棒了

Total execution time: 00:07:20

是的,我可以在 cygwin 中使用 date 命令获取时间,

$ date -> Tue, Mar 22, 2016  12:00:47 AM

但是我是否必须解析此日期以获取变量中的时间,然后采用 diff 来获取经过的时间?

答案1

下列命令序列我试图在日志文件中获取开始/结束和经过的时间。可能有更好的方法来做到这一点。

date 2>&1 | tee -a outFile.txt && SECONDS=0 && command.py 2>&1 | tee -a outFile.txt && date 2>&1 | tee -a outFile.txt && duration=$SECONDS echo "Total Execution Time: $(($duration / 60)) m $(($duration % 60)) s" 2>&1 | tee -a outFile.txt
  1. 它只是获取开始日期并附加到文件,

    date 2>&1 | tee -a outFile.txt 
    
  2. 然后执行命令并附加到文件,

    && SECONDS=0 && command.py 2>&1 | tee -a outFile.txt
    
  3. 然后获取结束日期并附加到文件。

    && date 2>&1 | tee -a outFile.txt
    
  4. 最后计算经过的时间并附加到文件

    && duration=$SECONDS echo "Total Execution Time: $(($duration / 60)) m $(($duration % 60)) s" 2>&1 | tee -a outFile.txt
    

以下是日志文件的输出,

    Tue, Mar 22, 2016  4:01:18 PM

    file stream file stream file stream file stream 
    file stream file stream file stream file stream 
    .
    .
    .
    file stream file stream file stream file stream 
    Tue, Mar 22, 2016  4:01:23 PM
    Total Execution Time: 0 m 7 s

相关内容