我试图在Linux机器上运行solaris中的脚本。
它显示的警告被视为普通警告
我不能改变awk的版本。是否有其他方法删除此警告?
编辑:
我的awk文件只是在函数中打印xml标记。

function PrintExamHeader()
{
 print "<exam";  #I have removed the \
}

现在它在没有这种模式的行号上发出警告。
  BEGIN {        # here it's giving warning
   OFS = "";

  # Indexes for series structure
  idx = 1;
  Number = idx++;
  ItDate = idx++;             # and 3 more at such lines
  Time = idx++;
  Date = idx++;

最佳答案

下面是一个触发警告的简单示例(gnuawk;在某些linux系统上,nawk是gnu awk的符号链接,gawk):

awk 'BEGIN { print "\<exam" }'  # -> '<exam'

如果您的输出正常,并且您需要做的只是消除警告,只需删除\
awk 'BEGIN { print "<exam" }'  # -> '<exam'

如果要打印\<exam,则必须将反斜杠加倍:
awk 'BEGIN { print "\\<exam" }'  # -> '\<exam'

警告试图告诉您的是,\前缀在这个上下文中本质上是一个no op,不需要它。

10-06 05:36