【问题标题】:How to replace white space between 2 strings using sed如何使用 sed 替换 2 个字符串之间的空格
【发布时间】:2017-03-31 05:41:49
【问题描述】:

如何使用 sed 将两个字符串之间的单个空格替换为下划线,如下例所示:

xxx ccc vvv bbb        333  444  555
   ^   ^   ^   ^^^^^^^^   ^^   ^^   <--- spaces visualized for easier counting

期望的输出:

xxx_ccc_vvv_bbb        333  444  555

【问题讨论】:

    标签: sed replace


    【解决方案1】:

    这很简单,您只需使用下划线 (_) 将单词边界 (\b) 包围的单个空白字符 (\s) 全局 (g) 替换 (s):

    sed 's/\b\s\b/_/g'
    

    您的示例可以这样运行:

    echo "xxx ccc vvv bbb        333  444  555" | sed 's/\b\s\b/_/g'  
    

    产生你想要的输出:

    xxx_ccc_vvv_bbb        333  444  555
    

    【讨论】:

      猜你喜欢
      • 2019-06-07
      • 1970-01-01
      • 2014-01-25
      • 2015-09-03
      • 1970-01-01
      • 2021-11-16
      • 2021-07-23
      • 1970-01-01
      • 2014-09-05
      相关资源
      最近更新 更多