You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux如何将uptime命令输出转换为短格式适配1602LCD屏

解决方案

1. 单行命令实现(优先推荐)

直接使用sed对uptime -p的输出做批量替换即可,自动适配时间单位的单复数场景:

uptime -p | sed -e 's/ days\?/d/g' -e 's/ hours\?/h/g' -e 's/ minutes\?/m/g'

效果验证

原始输入:

up 4 days, 1 hour, 43 minutes

命令输出:

up 4d, 1h, 43m

完全匹配你需要的短格式要求,适配1602 LCD屏的有限显示空间。
如果需要高频调用,可以把命令设置为别名,在~/.bashrc(或你当前使用的shell对应配置文件)中添加如下内容:

alias uptime-lcd="uptime -p | sed -e 's/ days\?/d/g' -e 's/ hours\?/h/g' -e 's/ minutes\?/m/g'"

重载配置后直接执行uptime-lcd即可得到目标输出。

小提示:如果上述命令在你的设备上报语法错误,可尝试兼容版本命令:

uptime -p | sed -r 's/ days?/d/g;s/ hours?/h/g;s/ minutes?/m/g'

2. 轻量Shell脚本实现(无外部依赖,适合嵌入式场景)

如果你的设备资源有限,不想调用额外的sed进程,可以用Bash内置的字符串替换功能实现,脚本内容如下:

#!/bin/bash
# 读取原始uptime输出
uptime_raw=$(uptime -p)
# 批量替换单位
uptime_raw=${uptime_raw// days/d}
uptime_raw=${uptime_raw// day/d}
uptime_raw=${uptime_raw// hours/h}
uptime_raw=${uptime_raw// hour/h}
uptime_raw=${uptime_raw// minutes/m}
uptime_raw=${uptime_raw// minute/m}
# 输出结果
echo "$uptime_raw"

给脚本添加执行权限后直接运行即可,占用资源更低,更适合嵌入式设备对接1602 LCD的场景。

内容的提问来源于stack exchange,提问作者Ledi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:48:03