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

linux – sed错误:替换表达式中的错误选项,第1张

概述我有一个配置文件(gpsd.default)包含具有以下格式的数据: # If you must specify a non-NMEA driver, uncomment and modify the next line GPSD_SOCKET="/var/run/gpsd.sock" GPS 我有一个配置文件(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.defaultor sed -i '4s/^.*/GPS_DEVICES="dev/ttyUSB1"/' /etc/default/gpsd.default

上面的sed命令返回错误

sed: bad option in substitution Expression

因为新行在其表达式中包含“/”.

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

解决方法 这是因为您使用的是包含/的正则表达式,它与sed用作分隔符的字符相同.

只需将sed分隔符更改为另一个分隔符,例如〜:

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

顺便说一下,由于您要更改/ etc中的文件,您可能需要使用-i.bak,以便备份原始文件.防止丢失重要信息是一种很好的做法.

总结

以上是内存溢出为你收集整理的linux – sed错误:替换表达式中的错误选项全部内容,希望文章能够帮你解决linux – sed错误:替换表达式中的错误选项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1028864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存