LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 950|回复: 4

求助关于字符替换的问题!!!!!!急!!!!!!!!!!!!!!!

[复制链接]
发表于 2007-2-27 11:21:50 | 显示全部楼层 |阅读模式
小弟是新手,所以求教给为高手一个关于字符替换的问题.

例如有这样一个文件
helloworld+world/(newworld-world)
现在我要把world替换成river,但是我只要替换的是单独的world即+/-后的world,而像helloworld和newworld中的world不要替换

应该怎么做啊?
发表于 2007-2-27 12:00:45 | 显示全部楼层
echo "helloworld+world/(newworld-world)" |sed 's/\([+-/]\)world/\1river/g'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-27 13:31:23 | 显示全部楼层
这样可以的.但是如果开始有空格呢?好象就不能替换了
比如:
world+helloworld-world
这样的话第一个不会被替换的,应该怎么办啊
还有我的程序里不止有+-的符号,那样的话只能全部以[+/-/*]这样列出来?

谢谢
回复 支持 反对

使用道具 举报

发表于 2007-2-27 13:50:17 | 显示全部楼层
$ echo " world+helloworld/(newworld-world)" |sed 's/\([^a-zA-Z]\)world/\1river/g'

尽量把问题描述清楚些,再有问题自己可以参照着修改一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-27 17:10:07 | 显示全部楼层
谢谢~

再问一个问题
如果我需要替换一个字符串中的字符,但事先我不知道我得到的字符串是如何的,应该怎么办
例如:
有函数为p1(x,y)=x+y  (x,y可能为其他任意的东西,我并不知道,比如也可能是p(m,n)=m+n的
我知道的只是p(*,*)=*+*这样的形式
那么我怎么得到:
p1(a,b)=a+b
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表