使用 sed 在包含路径的右双引号之前附加数据

使用 sed 在包含路径的右双引号之前附加数据

我需要将应用程序的路径附加/opt/dell/dcc到默认路径语句之外/etc/环境

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/dell/dcc"

问题是附加必须在结束内部双引号包含路径的对。

答案1

尽管此示例适用于编辑特定文件中的路径,但需要使用 sed 修改的配置文件中的许多指令值可以包含在一对引号之间。感觉这个解决方案可能会引起广泛的兴趣,我在下面分享了它:

sed 's#"$#:/opt/dell/dcc"#' /etc/environment

证明解决方案的屏幕截图按描述工作

匹配最终引号的好处是,它确保即使将来路径发生变化,此 sed 表达式仍然可以正确工作,在结束双引号之前将自定义路径附加到其末尾。

上面的 sed 表达式经过测试并且已知可以正常工作,但其他人可能有更优雅的方法来实现相同的结果;请随时在这里分享。

不要忘记添加-i开关以使更改在测试后保持不变-

相关内容