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)