Chinaunix

标题: sed /g问题(已解决) [打印本页]

作者: shell_1    时间: 2017-12-08 10:09
标题: sed /g问题(已解决)
本帖最后由 shell_1 于 2017-12-26 14:18 编辑

echo "aaabc" | sed 's/a*/s/g'

sbscs

b和c后面为什么会替换?替换了什么,还是追加?

作者: q1208c    时间: 2017-12-08 11:04
回复 1# shell_1

替换了 0 个 a.
* 表示 0-无穷多个匹配。

作者: wh7211    时间: 2017-12-08 11:34
回复 1# shell_1

b和c后面为什么会替换?替换了什么,还是追加?

a* 表示0或多个a,b和c后面是空字符"",匹配a*,因此空字符""被s替换,和追加无关。

作者: shell_1    时间: 2017-12-08 13:21
回复 3# wh7211

还有空字符的概念啊?
作者: wh7211    时间: 2017-12-08 14:57
回复 4# shell_1

是的。在ASCII控制字符中,空字符(Null)的ASCII码是“0”。
作者: shell_1    时间: 2017-12-08 15:15
回复 5# wh7211

谢谢,清晰了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2