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つのスペースのみが置き換え.
られます。?
!