获得以周、天、小时、分钟为单位的正常运行时间

not*_*ich 5 linux date uptime

基本上我使用 conky ssh 进入一个 android 电视盒并获得正常运行时间并将其显示在 conky 屏幕上。

到目前为止我有这个,在网上找到并被我黑了但它有效,如果它的废话请修改

uptime | awk -F'( |,|:)+' '{print int($6/7),"weeks",$8,"hours,",$9,"minutes."}'
Run Code Online (Sandbox Code Playgroud)

它显示

4 weeks 1 hour 1 minute
Run Code Online (Sandbox Code Playgroud)

如何得到

4 weeks **1 day** 1 hour 1 minute
Run Code Online (Sandbox Code Playgroud)

αғs*_*нιη 10

既然你用 标记你的问题Ubuntu,下面就足够了。

$ uptime -p
up 4 weeks, 1 day, 1 hour, 1 minute
Run Code Online (Sandbox Code Playgroud)

请参阅Ubuntu 的正常运行时间

-p, --pretty
      show uptime in pretty format
Run Code Online (Sandbox Code Playgroud)

或者使用您自己的脚本:

awk -F'( |,|:)+' '{
    printf("%dweeks, %.fdays, %dhours, %dminutes\n", 
           $5/7, ($5/7-int($5/7))/0.143+.05, $7, $8)
}' <(uptime)
Run Code Online (Sandbox Code Playgroud)

每一天~=0.143 周,我们将结果除以0.143得到天数,然后相加0.5并在printf's.f控制下将四舍五入到下一个整数(作为 Ceil 函数)。

您可能需要更改$5,$7$8使用$6,$8$9