Chinaunix

标题: sed中使用变量,特殊情况? [打印本页]

作者: netcafe    时间: 2009-09-07 21:59
标题: sed中使用变量,特殊情况?
a=helloWWW
b=xxx
echo $a | sed "s/WWW/$b/"
输出:helloxxx 没有问题

但下面:
a='${asdf}/bin/ok'
b='/one/two'
echo $a | sed "s/${.*}/$b/"
bash: s/${.*}/$b/: bad substitution

如果是:
echo $a | sed 's/${.*}/AAA/'
AAA/bin/ok 也没有问题。

请解释一下上面的原因,并给出解决办法?
作者: netcafe    时间: 2009-09-07 22:08
感觉是因为 $b中包含了路径符号"/" 的原因。如何解决呢?
作者: blackold    时间: 2009-09-07 22:14
try:
  1. echo $a | sed "s#${.*}#$b#"
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2