他の文字の前の最後の文字を削除

他の文字の前の最後の文字を削除

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

関連情報