gpt4 book ai didi

javascript - 替换两个 JavaScript 注释之间的代码

转载 作者:行者123 更新时间:2023-12-02 16:49:55 25 4
gpt4 key购买 nike

我需要从 bash 设置 JavaScript 变量的值。变量位于index.html 文件中,我想使用unix SED 命令来执行此操作。在index.html里面我有它:

<script>
/*bash_var*/ var foo = 1; /*end_bash_var*/
</script>

我尝试这样做:

sed -i -e 's%/*bash_var*/(.*)/*end_bash_var*//'"$ var foo = 0;/g"index.html

还有这个命令的更多变体,但我总是遇到一些错误。

感谢您的帮助。

更新

预期输出:

<script>
/*bash_var*/ var foo = 0; /*end_bash_var*/
</script>

最佳答案

您需要转义*。此外,您的 ' 是错误的,不需要 %

sed 's#\(/\*bash_var\*/\).*\(/\*end_bash_var\*/\)#\1 var foo = 0; \2#'

请注意,我使用 # 作为分隔符,而不是 /。这样我就可以在表达式中使用 / 而无需转义它们。这使得 sed 命令更具可读性。然而,这仍然很乏味。您可以将 index.htm 重写为类似的内容吗?

<script>
//BASHVAR
var foo = 1;
</script>

然后就可以使用

sed '/BASHVAR/{n; s/.*/var foo = 0;/;}'

关于javascript - 替换两个 JavaScript 注释之间的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26760523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com