我很想知道 2016 年我在笔记本电脑上工作的总时间。
last reboot --since 2016-01-01 --until 2016-12-31 | grep -o '(.*)' | grep -v '-'
以这种格式给我笔记本电脑的总正常运行时间:
(01:33)
(04:40)
(01:31)
(1+06:41)
(02:47)
(00:30)
现在我该如何添加它?
我很想知道 2016 年我在笔记本电脑上工作的总时间。
last reboot --since 2016-01-01 --until 2016-12-31 | grep -o '(.*)' | grep -v '-'
以这种格式给我笔记本电脑的总正常运行时间:
(01:33)
(04:40)
(01:31)
(1+06:41)
(02:47)
(00:30)
现在我该如何添加它?
尝试使用 bash 脚本并扩展您的命令。我
dateutils
用来加起来持续时间。因此,要使用此脚本,需要
dateutils
通过apt
. (sudo apt install dateutils
)该脚本还考虑了当前正常运行时间(当前会话),因此更准确。不计算秒数。报告的最低单位是分钟。
temp
.2015-01-01
,将当前正常运行时间添加到该日期。new
org
与净正常运行时间之间的持续时间new
是通过差异找到的。输出:
以下脚本适用于从脚本运行之日起正好一年内的正常运行时间。
这是我想要的python实现,但我确信有一种优雅的方式可以使用bash:
这是一个 awk + awk 版本:
last
的最后一列格式为 ,如果期间小于 1 天(<days>+hours:minutes)
,则删除其中。days+
在这里,第一个命令输出条目
awk
的最后一列,即感兴趣的持续时间。reboot
对于第二个
awk
命令:FS
是[(+:)]
,即,括号或+
或:
。因此,(h:m)
被拆分为、
h
、m
和(第一个和最后一个字段为空),并被拆分为 、 、 和
(d+h:m)
(同样
d
,h
第一个和最后一个字段为空)。m
0
在这种情况下简单地添加。h
和d
现在可能有小数部分。%d
),因此忽略任何小数部分。