awk 函数不在 html 页面上打印输出

awk function is not printing output on the html page

shell 脚本代码:

$head=`echo "$value" | awk '{gsub(/%+/,"\n");print;}'`;
$tail=`echo "$value" | awk '{gsub(/^+/,"\n");print;}'`;

html代码:

$value1="<td><a href=\"$tail\">$head</a></td>";

来自用户的示例输入:

$value= %Link1^www.google.com%Link2^www.facdebook.com

输出:

<a href="https://www.google.com/">Link1</a>

<a href="https://www.facebook.com/">Link2</a>

使用您显示的示例,请尝试执行以下 awk 程序。此外,在创建 shell 变量时,我们不需要使用 $ 使它没有 $ 并且在打印它时只使用它。

##Shell variable named value.
value="%Link1^www.google.com%Link2^www.facdebook.com"

那么生成html代码需要用到的代码如下:

echo "$value" | 
awk -F'[\^%]' '
{
  print "<a href=\"https://" "/\">" "</a>" ORS "<a href=\"https://" "/\">" "</a>"
}
'


通用解决方案: 为了处理来自变量的多个输入,请尝试遵循 awk 代码。

echo "$value" | awk -F'[\^%]' '
{
  for(i=2;i<=NF;i+=2){
    print "<a href=\"https://" $(i+1)"/\">" $i "</a>"
  }
}
'