【问题标题】:Bash: erase character in a given positionBash:擦除给定位置的字符
【发布时间】:2014-02-21 16:34:00
【问题描述】:
我想格式化 uptime 命令的输出:
13:28:07 上升 1:04,2 个用户,平均负载:0.66、0.56、0.59
转成这种格式:
13:23 0.56 0.38 0.56
删除代表秒的数字,现在管道 tr 和 cut 我得到了这个字符串:
13:23:05 0.56 0.38 0.56
这是因为我想知道如何擦除字符串某个位置的字符。 13:23:05 => 13:23
你能帮帮我吗?
【问题讨论】:
标签:
bash
position
format
character
output
【解决方案1】:
uptime | awk -F: '{printf "%s:%s%s\n", $1, $2, $NF}' | tr -d ,
给我
11:43 0.31 0.71 0.75
(带前导空格)
【解决方案2】:
uptime |sed 's/:[0-9][0-9]\s.*://'
23:07 0.52, 0.59, 0.51
如果你也想删除, (comma):
uptime |sed 's/:[0-9][0-9]\s.*://;s/,//g'
23:07 0.52 0.59 0.51