有很多程序(比如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。