2011-02-15 6 views
1
$ echo "Anirudh Tomer" | sed 's/ +/ /g' 
Anirudh Tomer 

を削除するには、適切な正規表現を書くことができない私はそれがAnirudhとTomerの間に、これらの3つのスペースを削除して、私は初心者です 複数のスペースに

"Anirudh Tomer"その結果、私を与えることを期待していました。 ご協力いただきありがとうございます。 VIMの正規表現と同様に

答えて

2

あなたは-rフラグ付きのsedの拡張正規表現のサポートを有効にする必要があります。拡張正規表現で

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

?+|メタ文字は(wikipediaを参照してください)エスケープしてはいけません。 *メタキャラクタはbasic regular expressionsに属しているため動作します。

+0

aha!問題を解決したおかげで – Durin

+0

が表示されますが、なぜanirudh @ anirudh-Aspire-5920:〜/ Desktop/testing/GET_REQ $ echo "Anirudh Tomer" | sed 's/[] *// g' A n i r u d h T o m e 'が動作します。私も-rオプションを与えない限りうまくいきません。 – Durin

+0

あなたのコメントを反映するために私の答えを広げました。 –

1

、あなたはバックスラッシュで+数量詞をエスケープする必要があります。

sed 's/ \+/ /g'

+0

thanks dude !!!あなたの答えは私の問題を解決しました。しかし、 'sed -r 's/+// g' 'の作業をするために、将来sedに-rオプションを追加することを好むでしょう – Durin

0
echo "Anirudh Tomer" | tr -s ' ' 
関連する問題