uptime=$(uptime | sed 's/^.*up//;s/:/ hours and /; s/, load/ minutes, load/g')
输出结果为:
2 days, 3 hours and 41, load average: 0.04, 0.07, 0.10
我希望输出如下:
2 days, 3 hours and 41 minutes, load average: 0.04, 0.07, 0.10
如何使用sed
?
答案 0 :(得分:1)
您可能需要使用2个sed
命令:
uptime=$(uptime | sed 's/^.*up//;s/:/ hours and /' |sed 's/,\s\+load/ minutes, load/g' )
实际上它只适用于一个,它可能有多个空间:
uptime | sed 's/^.*up//;s/:/ hours and /; s/,\s\+load/ minutes, load/g'
答案 1 :(得分:1)
您可以使用分组直接捕捉小时/分钟:
echo $(uptime | sed 's/^.*up//;s/\([0-9][0-9]*\):\([0-9][0-9]\)*/\1 hours and \2 minutes/')