LinuxSir.cn,穿越时空的Linuxsir!

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

请教一个关于sed的问题

[复制链接]
发表于 2004-7-2 02:28:58 | 显示全部楼层 |阅读模式
sed的表达式里似乎不支持变量。比如:
#
read userdel
sed  's/$userdel//' /etc/passwd
#
我是希望能按用户的要求将/etc/passwd中的相关行删除,但却无法实现,想请教大家sed里是否不能用变量作为参数,如果不能,有什么别的办法可以实现我的构想么。
发表于 2004-7-2 03:09:57 | 显示全部楼层
顶, 我也想知道。
发表于 2004-7-2 10:42:42 | 显示全部楼层
'$shellvar'
发表于 2004-7-2 12:04:06 | 显示全部楼层
要用双引号来括引
"s/$shellvar//" or "s/${shellvar}//"
发表于 2004-7-2 13:08:48 | 显示全部楼层
试了一下, '/'$var'/'这种写法也行.
[PHP]
a="abc\nbcd"
b="abc"; echo -e $a | sed 's/'$b'/foo/'
[/PHP]
输出:
foo
bcd
原来记得只讨论过awk,这回sed也知道了.:cool:
 楼主| 发表于 2004-7-3 00:25:33 | 显示全部楼层

太感谢了!!!

一直困绕我的问题!
发表于 2004-7-7 15:09:09 | 显示全部楼层
xiexie , 刚好用上,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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