免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3034 | 回复: 6
打印 上一主题 下一主题

vi正则表达室对或逻辑是怎么支持的呀 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-28 00:54 |只看该作者 |倒序浏览
文件内容如下:
   A1   11    DD
   B1   33    CC
   A1   SS    FF

我希望把A1,B1 都替换成ABC,在vi中用了如下命令
:1,$s/(A1|B1)/ABC/g

可是一个也匹配不了
又试了一下
sed -e 's/(A1|B1)/aa/' test

该怎么做呀

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2008-02-28 01:31 |只看该作者
1,$可用%取代
%s/A1\|B1/ABC/g
或者
%s/\(A1\|B1\)/ABC/g
sed命令:
sed 's/A1\|B1/aa/'
sed -r 's/A1|B1/aa/'

论坛徽章:
0
3 [报告]
发表于 2008-02-28 05:17 |只看该作者
sed -e 's/A1/aa/g;s/B1/aa/g' test

论坛徽章:
0
4 [报告]
发表于 2008-02-28 11:50 |只看该作者
谢谢,好象还和VI 版本有关,试了一下,在LINUX上%s/\(A1\|B1\)/ABC/g有效,在SOLARIS VI就无效,sed也一样

论坛徽章:
0
5 [报告]
发表于 2008-02-28 13:19 |只看该作者
cat file |sed 's/A1/ABC'|sed 's/B1/ABC'

论坛徽章:
0
6 [报告]
发表于 2008-02-28 13:23 |只看该作者
sed 's/A1/ABC/g;s/B1/ABC/g' file

论坛徽章:
0
7 [报告]
发表于 2008-02-28 13:45 |只看该作者
vi里好像不能这样写吧
1,$s/A1/aa/g;s/B1/bb/g
只能分两次替换
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP