删除另一个字符之前的最后一个字符

删除另一个字符之前的最后一个字符

我对命令有疑问sed。是否可以删除空白区域和所选字符之间的字符(或字符集)?如果我有一个包含多行文本的列表,例如:

a = 5 * x + 3 n\exit>

a = 5 * x + 7 abndc\exit>

...等等等等

要得到

a = 5 * x + 3

a = 5 * x + 7

等等等等

使用sed命令?

3所以基本上删除了之后的空间中的所有内容>

答案1

2种方法

  1. 将所有内容保留到最后一个空格:

    sed 's/\(.*\) .*/\1/'
    
  2. 在行尾找到一个空格和一些非空格,然后将其删除

    sed 's/ [^ ]*$//'
    

答案2

sed -r 's/(.*)( \S+>)/\1/' file

a = 5 * x + 3
a = 5 * x + 7

相关内容