Unix命令为文件的输出添加时间戳,但用相对于什么时候启动的时间?

有很多程序(比如ts中的moreutils )和各种bash单行程序来预先输出一个命令/pipe道的时间戳,当这行被“打印”时。

然而,是否有一个命令,对于每一行,它将打印从命令开始(和/或当它第一次看到一条线)和当前行以来的时间? 因此,而不是打印当前时间,它会打印多长时间,因为该命令开始? (和线一样)

当运行需要一段时间的命令,并输出大量的输出时,知道你已经看了多长时间会有帮助。

鞭打一个简单的命令是微不足道的,但我不想重新发明轮子。

这是在Ubuntu Linux系统上。

这里有一个方法:

 #!/bin/bash SECONDS=0 # it will already be initialized to zero at the start of the script while read -r line do echo "$SECONDS: $line" done < file # or < <(command) 

SECONDS是一个每秒自动递增的variables。