SHELL下面SED输出到变量的问题
我想从文件$reportfile中读取从含有${startId}的这一行到含有${endId}这一行之间的内容,然后将其赋值给record变量,之后在使用record里面的内容,但是发现record里面什么内容也没有,也就是echo没有打印出来record,然后代码就挂在那里了,请问这是怎么回事啊?难道SED的output不能赋值给变量?
代码如下:
record=`sed -n '/${startId}/,/${endId}/p' $reportfile`
echo "after record ${record}"
type=`grep "type" ${record}|cut -d: -f 2-`
from=`grep "from" ${record}|cut -d: -f 2-`
代码如下:
record=`sed -n '/${startId}/,/${endId}/p' $reportfile`
echo "after record ${record}"
type=`grep "type" ${record}|cut -d: -f 2-`
from=`grep "from" ${record}|cut -d: -f 2-`
作者: special5110 发布时间: 2011-02-26
找到原因了。原来是单双引号的问题。。。。
但是又出来另外一个问题:sed的结果赋给变量之后,结果里面的换行有些变化,导致之后的grep处理异常。。。
但是又出来另外一个问题:sed的结果赋给变量之后,结果里面的换行有些变化,导致之后的grep处理异常。。。
作者: special5110 发布时间: 2011-02-26