免费注册 查看新帖 |

Chinaunix

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

有关一条sed语句的解释! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-31 15:24 |只看该作者 |倒序浏览
文件 myfile内容:CREATE TABLE PO(

要求修改成

CREATE TABLE po(

就是将PO改为小写的po

语句如下:
sed -r 's/([A-Z]*\()$/\L\1/' myfile

请问:上面的是什么意思呢?看不太懂,主要是引号之间的!。多谢!

论坛徽章:
0
2 [报告]
发表于 2010-03-31 15:28 |只看该作者
回复 1# sxs1986

问过一次了吧,以前有

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
3 [报告]
发表于 2010-03-31 16:03 |只看该作者
意思就是把(左侧的那个单词变成小写

论坛徽章:
0
4 [报告]
发表于 2010-03-31 17:00 |只看该作者
-r 读取文件
's  替换字符
/([A-Z]*\()$/   $结尾标志, 搜索 () 中的内容,[A-Z]正则表达式,匹配所有大写字母,后接* 0个或者多个字符,\( ,转义字符,也就是(左括号。

\L  应该是little的意思,也就是转成小写,
\1 我不清楚,估计是执行1行,或者1次 。。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
5 [报告]
发表于 2010-03-31 17:22 |只看该作者
回复 4# vitas333_cu


-r不是读取文件,记不清楚的时候就看看帮助:

       -r, --regexp-extended

              use extended regular expressions in the script.


\1表示前面出现的第一个()里面的匹配内容,详见:Regular Expression 简介
http://bbs.chinaunix.net/thread-605570-1-1.html

论坛徽章:
0
6 [报告]
发表于 2010-03-31 19:07 |只看该作者
回复 5# Shell_HAT


    tks...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP