LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: zzj7513

sed替换功能中变量如何表示?

[复制链接]
发表于 2003-6-14 11:33:40 | 显示全部楼层
不太好,凑合用吧..

$ cat multised.sed
#!/bin/bash

sed '
/^老段落老段落/ {
N
N
N
{
s/老段落老段落.*一个多行的.*老段落.*老段落/新段落新\n一个多行的新段落/
}
}' file.dat
发表于 2003-6-16 23:18:18 | 显示全部楼层
还可以这样。
eval "sed -e 's/$old/$new/g' tmp"
试试看。
发表于 2003-6-16 23:20:19 | 显示全部楼层
lyoo兄,你的引号掉了。当然不行。
sed -e s/${old}/${new}/ test.htm
是这样。
sed -e 's/${old}/${new}/' test.htm
发表于 2003-6-17 11:42:32 | 显示全部楼层
呵呵,penny兄的办法虽然太不具通用性,但还是可以特定解决问题。grampus兄所言对于单行文本均可通过,不过我的问题在多行文本搜索替换上。

perl,还是perl干这活顺手。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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