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

我期待它可以删除 Anirudh 和 Tomer 之间的这 3 个空格,并给我结果"Anirudh Tomer"

我是初学者。在此先感谢您的帮助。

4

3 回答 3

2

您需要使用该-r标志启用 sed 的扩展正则表达式支持。

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

在扩展正则表达式中?+|元字符不得转义(请参阅wikipedia)。元*字符之所以起作用,是因为它属于基本的正则表达式

于 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 回答