Sed错误:替换表达式

时间:2015-05-05 10:48:43

标签: linux bash shell sed

我有一个包含以下格式数据的配置文件(gpsd.default):

# If you must specify a non-NMEA driver, uncomment and modify the next line     
GPSD_SOCKET="/var/run/gpsd.sock"                                                
GPSD_OPTIONS=""                                                                
GPS_DEVICES="" 

我正在使用sed对文件进行更改:

sed -i 's/^GPS_DEVICES="".*/GPS_DEVICES="dev/ttyUSB1"/' /etc/default/gpsd.default
or 
sed -i '4s/^.*/GPS_DEVICES="dev/ttyUSB1"/' /etc/default/gpsd.default

上面的sed命令返回错误:

  

sed:替换表达式中的错误选项

因为新行包含" /"在其表达中。

如何更新我的sed命令以使其正常工作?

1 个答案:

答案 0 :(得分:3)

您应该将sed命令更新为此。

sed -i 's/^GPS_DEVICES=\"\".*/GPS_DEVICES=\"dev\/ttyUSB1\"/' /etc/default/gpsd.default