免费注册 查看新帖 |

Chinaunix

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

求助:这个sed语句是什么意思(sed中的"!") [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-15 10:50 |只看该作者 |倒序浏览
本帖最后由 tangy110 于 2011-06-15 12:01 编辑

sed "s!$last_entry!&   \n\t${a_bank}!g" $m_config > ${m_config}.modified

那个“! ”是不是写错了啊,是出自《精通UNIX shell脚本编程》中的,其中m_config为文件

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
2 [报告]
发表于 2011-06-15 10:54 |只看该作者
本帖最后由 liion631818 于 2011-06-15 10:55 编辑

sed替换命令s///,这样是最常见的,但是s!!!, s###都可以,只要是3个一样的字符就行
比如在替换URL的时候,如果用s///就很不方便了
如果用成对的字符,也可以这样,s{}{},详细看看ABS吧,这个基础讲的好一些

论坛徽章:
0
3 [报告]
发表于 2011-06-15 11:04 |只看该作者
不行啊,我刚试了啊

比如 #sed "s!bye!byebye!g" test
显示:
#bash:!bye!byebye!g:event not found

论坛徽章:
0
4 [报告]
发表于 2011-06-15 11:07 |只看该作者
额 又试了下 # 发现这个可以

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
5 [报告]
发表于 2011-06-15 11:09 |只看该作者
回复 3# tangy110


    你是直接在shell终端下运行的吧
     感叹号会触发bash的历史机制,在终端下是有效的,但是在脚本中历史机制被禁止了
    所以在终端下不能用感叹好作为s的分隔符了,但是脚本中可以

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
6 [报告]
发表于 2011-06-15 11:10 |只看该作者
额 又试了下 # 发现这个可以
tangy110 发表于 2011-06-15 11:07



    还是详细看看ABS吧,都讲到了

论坛徽章:
0
7 [报告]
发表于 2011-06-15 11:14 |只看该作者
回复 6# liion631818

哦 确实确实
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP