|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。
例五给某些字符串前面拔出些内容
[rocrocket@rocrocketprogramming]$catmysed.txt
Beijing
London[rocrocket@rocrocketprogramming]$sed‘s/B.*/&2008/’mysed.txt
Beijing2008
London
这个命令的感化是将包括’B.*’的中央前面加上2008四个字符。这个命令里用到了&字符,这是一个技能,妙手和菜鸟比,这些技能很主要哦。&暗示“被婚配的部分”,在这里就是’Beijing’喽!
例六将行的第一个Beijing后加上2008,在最初一个Beijing后加上2008
[rocrocket@rocrocketprogramming]$catmysed.txt
BeijingBeijingBeijingBeijing
LondonLondonLondonLondon
[rocrocket@rocrocketprogramming]$sed‘s/(Beijing)(.*)(Beijing)/12008232008/’mysed.txt
Beijing2008BeijingBeijingBeijing2008
LondonLondonLondonLondon
这个命令稍显庞大,个中用到了一个技能,就是预存储,即被(和)括起来的婚配内容会被按按次存储起来,存储到1、2…内里。如许你就能够利用加数字来挪用这些内容了。这个例子就是利用了这个技能,分离存储了三个内容,分离为婚配Beijing、婚配.*和婚配Beijing。
你大概会问,我假如想在第一个t前加上M,在第二个t前加上N,怎样做呢?
这个就必要利用正则表达式的非贪心算法了,通常为在?、+、*、{n}、{m,}、{m,n}的前面紧跟一个?,就会使婚配从贪心算法酿成非贪心算法,可是遗憾的是,sed其实不撑持这类非贪心算法,以是我们没法利用sed完成这类设法,只能另寻其他工具了。这也算是sed的一个遗留成绩吧。
例七能够用形式来定位行局限
[rocrocket@rocrocketprogramming]$catmysed.txt
Beijing2003
Beijing2004
Beijing2005
Beijing2006
Beijing2007
Beijing2008
Beijing2007
[rocrocket@rocrocketprogramming]$sed-n‘/2005/,/2007/p’mysed.txt
Beijing2005
Beijing2006
Beijing2007
我们利用/2005/来婚配行局限的首行,用/2008/来婚配行局限的最尾行。能够看到,在婚配尾行时,只需碰到切合请求的行,即中断,不会再持续向后婚配了。(只是婚配到第一个2007,并没有婚配到第二个2007)
例八用-e选项来设置多个command
当你经过一段时间的学习后就应该扩充自己的知识,多学习linux命令,但是不要在初学阶段就系统的学习linux命令。 |
|