sed 正则表达式问题

sl19841106123 2009-07-22 03:46:16
sed -i 's/localhost:108[0-9]*\/master[0-9]*/localhost:1083\/master3/g' webrobot.conf
这个可以替换
sed -i 's/localhost:108[0-9]?\/master[0-9]?/localhost:1083\/master3/g' webrobot.conf
这个就替换不了呢,
webrobot.conf 文件里源文件内容为localhost:1080\master
...全文
218 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
existmars 2009-07-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mymtom 的回复:]
引用 5 楼 sl19841106123 的回复:
引用 4 楼 existmars 的回复:
* 是可以有
? 是必须有


*是可以有0个或者无限多个
?是有0个或1个
我是这么理解的对不对

非常非常正确,
可是问题在于:
sed/grep不支持'?'
awk/egrep/perl支持'?'

[/Quote]

呵呵,学习了,多谢多谢
惭愧啊
mymtom 2009-07-26
  • 打赏
  • 举报
回复
楼主还应该知道RE还分BRE(Basic)和ERE(Extended)
简明正则表达式入门教程:
http://net.pku.edu.cn/~yhf/tutorial/tao_regexps_zh.html
完整的正则表达式描述:
http://www.opengroup.org/onlinepubs/7990989775/xbd/re.html
mymtom 2009-07-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sl19841106123 的回复:]
引用 4 楼 existmars 的回复:
* 是可以有
? 是必须有


*是可以有0个或者无限多个
?是有0个或1个
我是这么理解的对不对
[/Quote]
非常非常正确,
可是问题在于:
sed/grep不支持'?'
awk/egrep/perl支持'?'
hy_yuan921 2009-07-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 mymtom 的回复:]
引用 10 楼 hy_yuan921 的回复:
不对呵,9#的教程里说的是
* 0个或多个
?0个或一个

楼主的理解没有错误啊

楼上的没有看8楼么
sed不支持问号'?'
[/Quote]

嘿嘿,看到啦。晓得啦
mymtom 2009-07-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hy_yuan921 的回复:]
不对呵,9#的教程里说的是
* 0个或多个
?0个或一个

楼主的理解没有错误啊
[/Quote]
楼上的没有看8楼么
sed不支持问号'?'
hy_yuan921 2009-07-26
  • 打赏
  • 举报
回复
不对呵,9#的教程里说的是
* 0个或多个
?0个或一个

楼主的理解没有错误啊
existmars 2009-07-25
  • 打赏
  • 举报
回复
ls的正解
?必须且只能有一个
brookmill 2009-07-23
  • 打赏
  • 举报
回复
1楼的意思是,?的位置必须有一个字符,没有就不匹配。

1080可以匹配108[0-9]*
但是不能匹配108[0-9]?

再举个例子:如果当前目录有个文件aaa
用 ls aaa* 可以列出来,
但是用 ls aaa? 就不行。
existmars 2009-07-23
  • 打赏
  • 举报
回复
* 是可以有
? 是必须有
brookmill 2009-07-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sl19841106123 的回复:]
*是可以有0个或者无限多个
?是有0个或1个
我是这么理解的对不对
[/Quote]
不对!!应该是:
*是可以有0个或者无限多个 (这句没错)
?是有1个 (0个不行!)
sl19841106123 2009-07-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 existmars 的回复:]
* 是可以有
? 是必须有

[/Quote]
*是可以有0个或者无限多个
?是有0个或1个
我是这么理解的对不对
sl19841106123 2009-07-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 win74 的回复:]
* 是任何长度,可以没有。
?是单个字符
[/Quote]
对呀,为什么用“?”匹配不了呢
win74 2009-07-22
  • 打赏
  • 举报
回复
* 是任何长度,可以没有。
?是单个字符

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧