Vi中的替换&与()的运用

替换&与()的运用
例:test文本,目的是让one two three加上“”号
<H1>This is a header one</H1>
<H2>This is a header two</H2>
<H3>This is a header three</H3>
%s/ /([a-z]/+/)</"/1"/g
 
结果:
<H1>This is a header"one"/H1>
<H2>This is a header"two"/H2>
<H3>This is a header"three"/H3>
他缺了一个空格和<符号这说明了“/1”表示地内容为“[a-z]/+”,把前面“ /([a-z]/+/)<”内容替换了成[a-z]/+了
在看&结果
%s/ /([a-z]/+/)</"&"/g
<H1>This is a header" one<"/H1>
<H2>This is a header" two<"/H2>
<H3>This is a header" three<"/H3>
从这个例子知道&表示的内容为: “ /([a-z]/+/)<”
 
可以区别 ()与 &的本质区别了吧
 
理解了()的运用后我们可以实现只把’one’,’two’,’three’加上引号的方法了,补上缺的部分就可以了
%s/ /([a-z]/+/)</ "/1"</g
结果:
<H1>This is a header "one"</H1>
<H2>This is a header "two"</H2>
<H3>This is a header "three"</H3>
 
 网上看到下面网友的问题刚学了sed想实、运用一下,同时对()的应用:
这里有一文件:ww.txt
其中内容如下:
   wang|03/07/2004|104950|100| 
    zhang|03/07/2004|123224|200| 
    he|02/01/2004|85012|350| 
           ......
现在,我需要将以上"ww.txt"中内容改为:
   wang|2004-03-07 10:49:50|100 
    zhang|2004-03-07 12:32:24|200 
    he|2004-02-01 8:50:12|350 
                  ......
   如何能够办到啊?
只用sed命令实现
  sed "s/|/(...../)|/|0/1|/;s//([a-z]/+|/)/([0-9]/+/)///([0-9]/+/)///([0-9]/+/)|/(../)/(../)/(../)|/([0-9]/+/)|//1/4-/2-/3|/5:/6:/7|/8/" ww.txt
不过也算是解决了问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值