|
|
第 1 帖 | |
|
|
标题: 变态vi问答 有个文本文件内容如下:
new newabc news newspaper new new newspaper new newsabc BT问:如何把所有的new读换成old? 小猪答:简单: % s/new/old/g 结果如下: old oldabc olds oldspaper old old oldspaper old oldsabc BT:我要只有单词new变成old,其它所有甚么news,newxxx中的new不变 小猪挠了挠头:嗯... 这样,用精确匹配: % s/\<new\>/old/g 结果如下: old newabc news newspaper old old newspaper old newsabc BT:现在我要单词new不变,其它所有甚么news, newxxx中的new都变成old 小猪又挠了挠头:嗯... % s/new\([^ ]\{1\}\)/old\1/g,结果如下: new oldabc olds oldspaper new new oldspaper new oldsabc BT:现在文件内容增加了,加上 abcnews, abcnew, xxxnewyyy, new newabc news newspaper new new newspaper new newsabc abcnews abcnew abcnewspaper 要求所有单词new都不变,其它诸如xxxnew, xxxnewyyy之类的含有new的单词中的new变成old. 小猪:晕....... 哪位大虾救救猪头? |
|
|
|
|
|
|
|
第 2 帖 | |
|
|
代码:
|
|
|
|
|
|
|
|
第 3 帖 | ||
|
|
引用:
另外,这个方法的一个问题是万一原文中有old这个词但又不许被改掉就糟糕了:o |
||
|
|
|
||
|
|
第 4 帖 | |
|
|
是够BT的~~~
![]() |
|
|
|
|
|
|
|
第 5 帖 | |
|
|
乍一开始,我企图用% s/\([^ ]\{1\}\)new\([^ ]\{1\}\)/\1old\2/g来做,但是仔细一想,这个式子只能匹配xxxnewyyy这种模式,对于newxx和xxxnew这样的无效,所以不得以再匹配替换两次,太麻烦了,有没有甚么好的匹配方法将xxxnewyyy, xxxnew, newxxx这三种情况一网打尽,并且保留前/后的字符串,只将里面的new摘出来换掉。
偷偷地告诉javalee,这是两年前有个变态公司面试时候问小猪的,今天忽然向起来就向大伙儿请教了。 ![]() |
|
|
|
|
|
|
|
第 6 帖 | ||
|
|
引用:
|
||
|
|
|
||
|
|
第 7 帖 | |
|
|
用vim可以这样:
代码:
__________________
linux中级用户 |
|
|
|
|
|
|
|
第 8 帖 | ||
|
|
引用:
代码:
![]() |
||
|
|
|
||
|
|
第 9 帖 | |
|
|
妙!
嗯,多年来的疙瘩终于解开了,多谢论坛中热心的哥们。 此帖于 04-03-02 11:44 被 littlepig 编辑. |
|
|
|
|
|
|
|
第 10 帖 | |
|
|
perl, sed, grep, awk, vim 都支持 |
__________________
. 欢迎到 Linux 伊甸园 shell 论坛做客 - www.linuxeden.com |
|
|
|
|
|
|
|
第 11 帖 | |
|
|
bash 也有
|
|
|
|
|
|
|
|
第 12 帖 | |
|
|
BT的正则表达式!
__________________
那些作恶的和协助作恶的都将在审判日被钉在耻辱柱上 不论他今天站的多高,不论他今天如何叫嚣 到那一天,G00g1e会回来的 ++++++++++++KevinZou++++++++++++++ Keep Everything Simple , Palpable kissingwolf ++++++++++++++++++++++++++++++++ 在培训版发贴前请先在置顶的贴子里找找! 拒绝回答愚蠢的问题!愚蠢的问题表现为: 不告知发行版及版本类型 不告知尝试操作和相关环境配置 不告知问题解决目的 |
|
|
|
|
|
|
|
第 13 帖 | |
|
|
强,太强了!好好学习啊
__________________
为兄弟两肋插刀,为美女插兄弟两刀。兄弟如手足,美女如衣服,谁穿我衣服我砍他手足;美女如衣服,兄弟如手足,谁动我手足我穿他衣服!!! |
|
|
|
|
|
|
|
第 14 帖 | |
|
|
这算不算跟自己过不去啊?
|
|
|
|
|
|
|
|
第 15 帖 | |
|
|
"new new -new new.xxx yyy-new new new new"
变 "old old -new new.xxx yyy-new old old old" 怎么写呢?
__________________
LFS ID 9699 学习笔记 http://waker.hkjzone.com |
|
|
|
|
|