-
2009-03-20
查找和替换操作中的&符号 - [Linux学习]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://wanping.blogbus.com/logs/36783905.html
今天在做文本处理的时候,在把&t=替换为&trtime=的时候,总是替换不成功,
要替换的文本部分内容如下:
http://www.test.com?a=apple&t=1979&count=10
考虑到&需要转义,我用的替换命令如下:
:%s/\&t=/\&trtime=/g
替换操作后,结果不是我期望得样子,不是&trtime=,而是变成了&t=trtime=
问题根源:
原来在执行替换操作的时候,:%s/\&t=/\&trtime=/g红色部分是需要查找的内容,而绿色部分是需要替换的内容,而在查找的时候,“&”符号是不需要转义的,如果做了转义后,是不会完整匹配不到&t=,而需要替换的内容中&符号是必须转义的,否则会认为是在后面追加。举个例子,a.txt文件中内容如下:
Apple
App
执行查找追加操作,用&符号追加,命令如下:
%s/App/&45/g
执行完后,a.txt文件内容变为:
App45le
App45
解决办法:
查找替换命令,第一个查找的内容,&符号,不需要转义,第二个替换的内容,&符号,需要转义。
替换命令为:
:%s/&t=/\&trtime=/g
随机文章:
Linux下如何查看cpu数量和memory数量 2008-12-24Linux常用的一些命令 2008-10-13SSH免输入密码配置 2008-09-22Linux系统利用Crontab命令实现定时重启(2) 2008-09-11Linux环境两台机器拷贝受限情况下进行拷贝操作 2008-09-10
收藏到:Del.icio.us







