用 bash 脚本中的 sed 替换另一个文件中的字符串

发布于 2024-11-08 14:01:01 字数 262 浏览 0 评论 0原文

我正在尝试从 bash 脚本替换环境变量定义的值(如果存在)。我知道我可以使用 sed 来执行此操作,但是我不确定如何替换环境变量的值?

这就是我想要做的:

给定一个包含此行的文件(使用 grep 找到):

export MY_ENV=SOME_VALUE

我想用其他内容替换 SOME_VALUE 。如何使用 sed 做到这一点?

I'm trying to replace the value of an environment variable definition, if it exists, from a bash script. I know I can use sed to do this, I'm not sure, however, how to replace the value of the environment variable?

Here's what I'd like to do:

Given a file with this line (found with grep):

export MY_ENV=SOME_VALUE

I'd like to replace SOME_VALUE with something else. How do I do that with sed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

二手情话 2024-11-15 14:01:01

这将搜索以 export MY_ENV= 开头的行,并用 NEW_VALUE 替换该行的其余部分:

sed 's/^\(export MY_ENV=\).*$/\1NEW_VALUE/'

This searches for the line beginning with export MY_ENV= and substitutes the rest of the line with NEW_VALUE:

sed 's/^\(export MY_ENV=\).*$/\1NEW_VALUE/'
乄_柒ぐ汐 2024-11-15 14:01:01
sed -e "s/SOME_VALUE/$MY_ENV/"

这会找到字符串 SOME_VALUE 并替换 $MY_ENV 的值。双引号至关重要;不要使用单引号,除非您希望在替换文本中使用 $MY、...。

sed -e "s/SOME_VALUE/$MY_ENV/"

This locates the string SOME_VALUE and substitutes the value of $MY_ENV. The double quotes are crucial; don't use single quotes unless you want $, M, Y, ... in the replacement text.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文