【问题标题】:How to use variable inside awk [duplicate]如何在awk中使用变量[重复]
【发布时间】:2019-08-04 01:50:06
【问题描述】:

我正在尝试以 HTML 格式打印服务器名称 我使用 awk -v 编写了以下代码来执行此操作,但服务器名称未打印。

awk -v server="${svr}" 'BEGIN{
FS=","
print "==============================\n"
printf "<h2>ServerName :  ${server}</h2>"
print "=============================="
print  "<HTML>""<TABLE border="1">"
}
 {
printf "<TR>"
for(i=1;i<=NF;i++)
{
printf "%s", "<td"
if ($i+0==2) printf " bgcolor=#FF3333"
    else if ($i+0==1) printf " bgcolor=#FFCC33"
    else if ($i+0==4) printf " bgcolor=#99FF33"
print ">" $i "</td>"
}
print "</TR>"
 }
END{
print "</TABLE></BODY></HTML>"
 }

它正在打印ServerName : ${server} 请让我知道我缺少什么。

【问题讨论】:

标签: bash


【解决方案1】:

这样使用:

print "servername:" server

或:

printf "foo: %s bar", server

【讨论】:

  • 我需要在里面使用

  • @Sandy 只需添加&lt;h2&gt; 然后... printf "foo bar %s whatever you want to add to the string", server
  • 顺便说一句,printf "fixstring" 没有填充参数被认为是不好的做法。
  • 试过printf "&lt;h2&gt;"ServerName:%s", server&lt;/h2&gt;" 错误:awk: cmd. line:4: printf "&lt;h2&gt;"ServerName:%s", server&lt;/h2&gt;" awk: cmd. line:4: ^ syntax error
  • @Sandy 好的,就这样吧:printf "&lt;h2&gt;ServerName:%s&lt;/h2&gt;", server 当我看到 syntax error 时,我会做一个 man awk/gawk 来检查 printf 的正确语法
猜你喜欢
  • 2019-01-17
  • 2019-01-17
  • 2016-09-24
  • 2011-03-07
  • 1970-01-01
  • 2020-08-29
  • 1970-01-01
  • 2022-01-18
相关资源
最近更新 更多