免费注册 查看新帖 |

Chinaunix

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

sed 变量区分大小写 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-21 15:59 |只看该作者 |倒序浏览
目标文本如下:
#cat test (2行内容)
#AaAa bbb ccc
#aAAa ccctset

要实现的操作:定义变量Name="aa", 并在行匹配Name变量(并且不区分大小写)的条件下,替换ccc为abcd

如何实现?

请赐教!谢谢

论坛徽章:
0
2 [报告]
发表于 2010-09-21 16:03 |只看该作者
  1. 是这个意思吗?
  2. [root@gdcxserver ~]# cat a
  3. AaAa bbb ccc
  4. aAAa ccctset
  5. [root@gdcxserver ~]# Name="aa";sed "/$Name/Is/ccc/abcd/" a
  6. AaAa bbb abcd
  7. aAAa abcdtset
复制代码
回复 1# JackGao99

论坛徽章:
0
3 [报告]
发表于 2010-09-21 16:14 |只看该作者
是这样的。谢谢。

补充问一下,如果地址栏中有其它的匹配,如a$Name,第一个字母a只能是小写,紧接的$Name不区分大小写,如何处理?非常感谢

论坛徽章:
0
4 [报告]
发表于 2010-09-21 16:17 |只看该作者
本帖最后由 bbgg1983 于 2010-09-21 16:26 编辑

这个我就没有好办法啦,看三轮哥了
  1. [root@gdcxserver ~]# cat a
  2. AaAa bbb ccc
  3. aAAa ccctset
  4. aaaA ccctset
  5. AaaA ccctset
  6. [root@gdcxserver ~]# Name1="aa";Name2="AA";sed "/a$Name1\|a$Name2/s/ccc/abcd/" a
  7. AaAa bbb ccc
  8. aAAa abcdtset
  9. aaaA abcdtset
  10. AaaA ccctset
复制代码

论坛徽章:
0
5 [报告]
发表于 2010-09-21 16:24 |只看该作者
  故意拿分

论坛徽章:
0
6 [报告]
发表于 2010-09-21 16:43 |只看该作者
回复 2# bbgg1983


    大蝦,Name="aa";sed '/$Name/s/cccc/abcd/' urfile就可以達到目的,不知道Name="aa";sed '/$Name/Is/cccc/abcd/'中I有什麽作用??

论坛徽章:
0
7 [报告]
发表于 2010-09-21 16:46 |只看该作者
回复 6# hanner_cheung


   /REGEXP/I:正则匹配忽略大小写

论坛徽章:
0
8 [报告]
发表于 2010-09-21 17:19 |只看该作者
回复 4# bbgg1983

问题是这样的:
    如果地址栏中有其它的匹配,如a$Name,第一个字母a只能是小写,紧接的$Name不区分大小写

所以您的代码就不能处理如:aAa .... ....这样的了.呵呵

论坛徽章:
0
9 [报告]
发表于 2010-09-21 17:31 |只看该作者
回复 8# JackGao99


    语言描述不够直观,给出你的文本,然后写出你想要的答案,少一点无所谓,我再想想

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
10 [报告]
发表于 2010-09-21 20:24 |只看该作者
本帖最后由 cjaizss 于 2010-09-21 20:27 编辑
  1. sed -rn 'x;s/.*/'${Name}'/;G;s/.*/\U&/;/^(.*)\n.*\1/{x;s/ccc/abcd/g;p;d;};x;p'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP