如何在没有eval的情况下纠正这个awk代码?

时间:2013-11-18 07:48:20

标签: shell awk

如果我使用 eval 内置

,以下 awk 代码可以正常工作
var='$1,$2'
ps | eval "awk '{print $var}'"

但是当我试图敲掉 eval 并使用awk变量作为替代时,我没有得到预期的结果

ps | awk -v v1=$var '{print v1}'   # output is $1,$2
ps | awk -v v1=`echo $var` '{print v1}'  # output is same as above
ps | awk -v v1=$var '{print $v1}'  # output is all the fields of ps command
ps | eval "awk -v v1=$var '{print v1}'"  # output is column of comma

如何在不使用 eval 的情况下获得所需的输出?

1 个答案:

答案 0 :(得分:2)

awk命令中使用双引号:

ps | awk "{print $var}"
相关问题