Удалить последний символ перед другим символом

Удалить последний символ перед другим символом

У меня есть вопрос по sedкоманде. Можно ли удалить символ (или набор символов) между пустым пространством и выбранным символом? Если у меня есть список, содержащий несколько строк текста, например:

a = 5 * x + 3 n\exit>

a = 5 * x + 7 abndc\exit>

... и т.д. и т.п.

получить

a = 5 * x + 3

а = 5 * х + 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

Связанный контент