|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!好比要将一切包括abc文件内里的abc交换为def
find-typef|xargsperl-i-pes%abc%def%g
假如要把子目次的内容一同交换
ls-R|xargsperl-i-pes%abc%def%g
明天编程,关于栈的一个小例子,其间我必要把”S.”交换为”S->”(交换不包含双引号)。
实在这个不难,不外我以为应当总结一下vi里的交换手艺了,以备今后查阅。
1,$s,$(M.*trans/np/,,g
个中1,$暗示重新行到尾行,s代表交换,,代表交换标记,$(M.*trans/np/代表要上台的家伙,比方$(Myg)odtrans/np/,,,代表要下台的家伙,这里是空,g暗示此行一切被找到的都交换。
1,$s,$.*cmd/,,g
全文中凡是碰到$sdkfcmd/这类蛋全换成空包弹。
1
一切交换计划都要在冒号“:”形态下誊写。
2
假如想将abc交换为xyz,那末就如许
:s/abc/xyz/
不外要出格注重,这个交换只范围于光标地点以后行,并且更糟的是它只交换以后行的第一个婚配项。
即,假如此行内容为Iwriteabc,Ireadxyzandabc.那末交换后的了局为Iwritexyz,Ireadxyzandabc.
3
假如想将一行里的一切婚配都举行交换,那末就如许:
:s/abc/xyz/g
4
假如想将一行里一切的”S.”交换为”S->”,那末就如许:
:s/S./S->/g
比方,此行S.abcandS->bcdandS.aaaandS..abc为,交换后为S->abcandS->bcdandS->aaaandS->.abc
此处由于点号“.”为特别婚配符,以是假如想婚配点号,就必要用放在点号后面,暗示作废点号的特别意义。
5
假如要扩展交换局限,则能够用行数来限定:
假如要交换全文的S.为S->,则:
:1,$s/S./S->/g
能够看出在s后面加上m,n则暗示行的局限,1暗示第一行,$暗示最初一行。固然你完整能够指定其他行数。
此处,m或n能够用特别标记”.”或”$”代表,”.”代表以后行,”$”代表最初一行
假如是断定为全文交换,那末能够用%来取代1,$,即:%s/S./S->/g
6
你大概会发明假如我要婚配一个http://roclinux.cn/index.php会很贫苦阿由于//标记和/标记城市把交换搅散。此时,你完整能够用#大概其他任何标记来交换/,如s/abc/xyz/能够交换为s#abc#xyz#,大概s!abc!xyz!都是能够的!这个是否是很奇妙,假如你懂得perl的话,你会发明更多十分十分天真的技能。呵呵
云云行内容为:http://roclinux.cn/index.phpandhttp:/uuw/faf
利用以下交换下令(此处利用了#):
:s#http://roclinux.cn/index.php#http://www.sohu.com#
交换后为:http://www.sohu.comandhttp:/uuw/faf
7
假如我但愿把具有日期格局(XXXX-XX-XX)的字符串两侧加上一对单引号,即2008-07-01酿成’2008-07-01′,能够如许做。
比方,本来文件内容为:
aaa2008-07-01bbb
ccc2008-07-12aaa
利用以下交换下令:
:1,$s/([0-9]{4}-[0-9]{2}-[0-9]{2})/’1′/g
交换后为:
aaa‘2008-07-01′bbb
ccc‘2008-07-12′aaa
这个交换下令对照庞大,内里有这几个常识点:
第一个常识点:[0-9]暗示0到9之间的任一个数字
第二个常识点:{n}暗示将此标记后面的元素反复n遍,以是[0-9]{4}就暗示一个四位数的数字
第三个常识点:假如在婚配计划顶用到了()则暗示要暂存这个婚配内容,而1就暗示要交换为暂存的婚配内容,你细心看看我给出交换下令,就能够懂了,我们婚配的假如是2008-07-01,那末加了括号后就会被暂存,而在前面的1处就会被交换过去,表面再加一对引号,就OK了!
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们! |
|