用sed命令进行正则表达式匹配字符串,如何检验匹配是否成功?

1)将匹配结果输出到变量

result=`sed -n "/${str}/p" test.properties`

2)检查变量是否为空

if [ -z "$result" ];then

3)错误的方法

if [ "$?" -eq 0 ];then

    echo "sed execute ok."

fi

$?为0只表示sed执行没有异常,但不一定匹配成功,不能保证匹配成功。

可以用来判断sed、unzip等命令的执行是否有异常,但不能检验sed匹配成功。  

你可能感兴趣的:(Linux,Shell,Linux)