awk中引用变量使用单引号''

举例如下

  who命令输出第一列

(1)第一种情况不使用引号

  # i=1;who | awk '{print $${i}}'

  输出如下:

  awk: {print $${i}}
  awk:          ^ syntax error
  awk: {print $${i}}
  awk:             ^ syntax error

 (2)第二种情况使用双引号

  # i=1;who | awk '{print $"${i}"}'

  输出如下:

  root     pts/0        2016-05-24 23:02 (acab0081.ipt.aol.com)
  root     pts/1        2016-05-24 23:36 (acab0081.ipt.aol.com)

  输出了所有列,不是我们想要的第一列

(3)正确的做法是使用单引号''

  # i=1;who | awk '{print $'${i}'}'

  正确输出如下:

  root
  root

   总结:在awk命令中引用变量须使用单引号'',如'${i}'

原文地址:https://www.cnblogs.com/chongchong88/p/5524407.html