当我echo /$date $hh:$mq[$mr-9]/,/$date 23:59/p
时,我得到了回报/2017-12-31 19:1[4-9]/,/2017-12-31 23:59/p
,但当我这样做时sed -n '/$date $hh:$mq[$mr-9]/,/$date 23:59/p' $error_log_file_name
我得到了这个
gesed:-e expression#1,char 22:无效范围结束
我出错的任何建议? $error_log_file_name
是正确的。
答案 0 :(得分:1)
因为没有引号$ date变量被扩展,并且在单引号内没有扩展,比较
echo /$date $hh:$mq[$mr-9]/,/$date 23:59/p
echo "/$date $hh:$mq[$mr-9]/,/$date 23:59/p"
echo '/$date $hh:$mq[$mr-9]/,/$date 23:59/p'
也没有引号,参数在空格或制表符上分开,可以发生文件通配。