文の終わりに現れる2つのスペースをすべて1つのスペースに置き換えます。

文の終わりに現れる2つのスペースをすべて1つのスペースに置き換えます。

sedコマンドに正規表現を含めるのに問題があります。

尋ねる:後ろに表示される2つのスペースをすべて変更したいです。文章の終わり一度だけ使用できるスペースがあります。

私がしたことは次のとおりです。

sed 's/^ $/^$/' file  

そして、文が終わった後、2つのスペースを空白の1つに置き換えません。

私が得た結果は次のとおりです。

This is the output.  Hello Hello

私が望む出力:

This is the output. Hello Hello

ベストアンサー1

あなたのsedコマンドは's/^ $/^$/'あなたが望むように機能しません。単に空白を含むすべての行を単一の空白を含む行に置き換えます^$

文の終わりを示す文字に応じて、次のことができます。

sed -e 's/\([.?!]\) \{2,\}/\1 /g' <file

これにより、2つ以上のスペースまたは1つのスペースのみが置き換え.られます。?!

おすすめ記事