1
$ echo "Anirudh   Tomer" | sed 's/ +/ /g'
Anirudh   Tomer

アニルーダとトマーの間の3つのスペースが削除され、次のような結果が得られると期待していました。"Anirudh Tomer"

私は初心者です。助けてくれてありがとう。

4

3 に答える 3

2

-rフラグを使用してsedの拡張正規表現サポートを有効にする必要があります。

echo "Anirudh   Tomer" | sed -r 's/ +/ /g'

拡張正規表現では?、、+および|メタ文字をエスケープしてはなりません(ウィキペディアを参照)。メタ文字は、基本的な正規表現*に属しているため、機能します。

于 2011-02-15T17:53:11.263 に答える
1

+VIM正規表現と同様に、バックスラッシュを使用して数量詞をエスケープする必要があります。

sed 's/ \+/ /g'

于 2011-02-15T17:52:52.530 に答える
0
echo "Anirudh   Tomer" | tr -s ' '
于 2013-11-05T18:21:17.477 に答える