sed命令出错:unterminated `s' command

sed是linux下很有用的文本替换命令,但我在使用的时候却报了如下的错误:

sed: -e expression #1, char 7: unterminated `s' command


我的命令如下:

sed -i 's/LAT/'$lat'/g' init.mod
sed -i 's/PARA/'$alat'/g' init.mod

第一行没有报错,第二行却报错了。语法上似乎没有任何问题,但就是报错。

经过我仔细的分析,发现是变量类型造成的。变量$lat是字符串类型,而alat是数值类型。(实际上,在bash中是不需要指定变量类型的,而是根据所赋值的类型来自动指定变量的类型。)

找到问题,问题就很好解决了。竟然alat是数值型,那么转换成字符串型就可以了,下面的命令就可以实现这种转换。

alat=$(echo $alat)

标签: linux shell

相关文章推荐

添加新评论 (无需注册,可直接评论)