免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 小小磊
打印 上一主题 下一主题

[文本处理] 需要在行中间插入单词 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-09-08 17:01 |只看该作者
回复 10# yestreenstars
1.$在这里不是正则字符。可加可不加。
2.g是全局匹配(进行多次替换)。这里只替换一次,因此可以不用g。

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
12 [报告]
发表于 2012-09-10 10:19 |只看该作者
回复 11# kk5234


    感谢你的回答!但我还是分不清为什么有时$是正则字符,有时又不是,比如你和另外一个人的回答里都有$,但他的却是正则字符。
sed -r 's/\$(.*);/"\1:" \$\1;/g'
sed 's/ .\([^;]*\)/ "\1:" $\1/' file
对于第2个问题,我知道g是全局匹配,但为什么你不用g(只替换一次)也能达到全局替换的效果呢?

论坛徽章:
0
13 [报告]
发表于 2012-09-10 11:15 |只看该作者
回复 12# yestreenstars

1.s/regexp/replacement/
regexp这部分用正则字符,replacement这部分遇正则字符时可不转义。&字符除外。自己测试一下便知。
  1. [netslyz@noopoo ~]$ echo 'abc' |sed 's/$/$/'
  2. abc$
  3. [netslyz@noopoo ~]$ echo 'abc' |sed 's/$/\$/'
  4. abc$
  5. [netslyz@noopoo ~]$ echo 'abc' |sed 's/^/^/'
  6. ^abc
  7. [netslyz@noopoo ~]$ echo 'abc' |sed 's/^/\^/'
  8. ^abc
  9. [netslyz@noopoo ~]$ echo 'abc' |sed 's/././'
  10. .bc
  11. [netslyz@noopoo ~]$ echo 'abc' |sed 's/./\./'
  12. .bc
  13. [netslyz@noopoo ~]$ echo 'abc' |sed 's/abc/&/'
  14. abc
  15. [netslyz@noopoo ~]$ echo 'abc' |sed 's/abc/\&/'
  16. &
复制代码
2.只替换一次和全局替换有什么有什么分别。加上g不是多余吗?
  1. [netslyz@noopoo ~]$ echo 'a' |sed 's/./A/'
  2. A
  3. [netslyz@noopoo ~]$ echo 'a' |sed 's/./A/g'
  4. A
复制代码

论坛徽章:
0
14 [报告]
发表于 2012-09-10 15:17 |只看该作者
  1. sed 's/\(.*\) \(.*\);/\1 "\2:" \2;/'
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
15 [报告]
发表于 2012-09-17 09:49 |只看该作者
回复 13# kk5234


    谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP