【问题标题】: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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-02
        • 2010-09-23
        • 2011-07-08
        相关资源
        最近更新 更多