別の文字の前の最後の文字を削除します

別の文字の前の最後の文字を削除します

コマンドについて質問があります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

関連情報