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}'