刪除另一個字元之前的最後一個字符

刪除另一個字元之前的最後一個字符

我對命令有疑問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

相關內容