【问题标题】:Sed replace spaces and a character before end of linesed 替换行尾前的空格和一个字符
【发布时间】:2014-11-05 00:36:56
【问题描述】:

我有这行:

\\Server1\A Share & Test & Check    M

我想要这个输出:

\\Server1\A Share & Test & Check

它应该以字符而不是空格结尾(\\Server1\A Share & Test & Check)

我试过这个:

 sed -i "s/[ *\t[a-z]]*$//I" shares.txt

它会删除最后一个字母,但不会删除空格。

【问题讨论】:

    标签: text sed spaces


    【解决方案1】:

    你所追求的正则表达式是\s*[a-z]*$

    sed -i "s/\s*[a-z]*$//I" shares.txt
    

    \s 用于任何空白字符

    【讨论】:

    • 在你的例子中,最后一个是大写的,所以在正则表达式中包含A-Z
    【解决方案2】:

    试试这个

    echo "\\Server1\A Share & Test & Check    M" | sed 's/[\tA-Za-z]*$//g'
    

    输出:

    echo "\\Server1\A Share & Test & Check
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-09
      • 2013-09-28
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      • 2015-05-30
      相关资源
      最近更新 更多