gpt4 book ai didi

regex - Sed 和 Awk 转义 & 符号

转载 作者:行者123 更新时间:2023-12-03 17:52:33 26 4
gpt4 key购买 nike

我正在解析一个 PHP 文件并将函数原型(prototype)元素包装在 HTML 中。但是,如果有&符号,它会破坏我的代码。

输入 : function foo (&$var1, &$var2){...}//作为字符串
所需输出(HTML 格式) : &$var1, &$var2//基本上,只需输出变量,以便它们在浏览器中正确显示

现在,我将每个变量发送到 awk 的子方法 1,然后发送到 sed。

sub(/^&/, "\\\&", param)  #param is the variable of interest (e.g. &$var1)

#Intermediate step in case it's relevant. The awk-processed elements
#are sent to ${file}_param.txt. Each set of parameters are delimited by colons.
param=$(cut -d: -f$counter ${file}_param.txt)

#Replace some default text in template file with real stuff.
sed -i "s|@PARAM|$param|1" "$base"_funct_def.txt

我得到的输出:符号正在被解释。整场比赛被替换。

问题隔离:而是按照我的意愿在浏览器中显示“g$var1”。但是,我试图得到一个 '&' 代替。
sub(/^&/, "g", param)

我的尝试:我使用了三个反斜杠,因为我认为 awk 会首先将其处理为 '\&',然后将其输入 sed,将 '\&' 解释为文字 '&'。不过,我尝试了 1 到 6 个反斜杠,但无济于事。

问题:我怎样才能逃脱&?

1手册: http://www.staff.science.uu.nl/~oostr102/docs/nawk/nawk_92.html

关于我正在尝试做的一些“元”/设计问题(不需要提问!!)
我有一堆 PHP 文件,我正在尝试为其生成一些文档(结构类似于 Javadocs)。我正在使用 REGEX 和 shell 脚本进行分析并分析它,以便列出函数名称、参数和返回项。到目前为止,我认为 REGEX 运行得很好,但我已经阅读了很多关于这是 REGEX 不应该用于的内容。我欢迎对此提出任何意见(文档通常是如何生成的?)。多谢你们!

最佳答案

我相信 HTML 是 &作为 & 字符。在您的 awk 脚本中,您可以使用:

sub(/^&/, "&", param)

美元符号 param需要用反斜杠转义,例如&$var 需要写成 &\$var,否则 sed 和 awk 会尝试将 $var 扩展为变量。

关于regex - Sed 和 Awk 转义 & 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17241725/

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