日期:2014-05-16  浏览次数:20579 次

shell sed 应用问题
我写了一个函数 代码如下:
function write_xml_item
{
  sed -i "s/\(<$1>\).*\(<\/$1>\)/\1$2\2/" $3

  echo -e "New config [ \e[31m$1=$2\e[0m ] have updated!"
}
当我$2的取值 含有“/”符号时 会报一个 
sed:-e 表达式 #1,字符 47:unknown option to `s'
求大神帮助一下

------解决方案--------------------
把整个语句后的分隔符改成其他的字符就可以了
sed -i "s@\(<$1>\).*\(<\/$1>\)@\1$2\2@" $3