试图从awk脚本中的名字第一个字母到html

时间:2013-04-20 09:00:48

标签: unix nawk

为什么第17行不起作用(在代码中注释)?:

#!/bin/nawk -f

BEGIN {
    print "<html>"
    print "<body>"
    print "  <table border=2>"
    print "    <tr>"
    print "      <th>Name</th>"              
    print "      <th>Username</th>"              
    print "      <th>Email</th>"                    
    print "    </tr>"
}

{
    print "    <tr>"
    print "      <td>" $2 " " $1"</td>"                   
    print "      <td>"'{Substr($1,1,1)}' "</td>"  ###### Line 17                 
is
    print "      <td>" $3 "</td>"             

我可以在第17行发表这样的声明吗?我试图获得名字的第一个字母。

1 个答案:

答案 0 :(得分:1)

应删除此行中的单引号。目前,引用允许shell解析Substr并且您不希望发生这种情况。

此命令也是substr。

print "      <td>"'{Substr($1,1,1)}' "</td>"  ###### Line 17      

更改为 - :

print "      <td>" substr($1,1,1) "</td>"