Linux awk字符串exec变量

时间:2013-05-14 00:03:56

标签: linux string variables awk exec

我有一个变量,当我回声它看起来像这样:

#echo $var
awk '{print  $7 " " $6 " " $8 " "}'

但如果我尝试类似

的话
#ls -lah | exec $var
awk: '{print
awk: ^ invalid char ''' in expression

我做错了什么?

2 个答案:

答案 0 :(得分:2)

而不是exec,您需要致电eval

ls -lah | eval $var

但是有两点需要注意:

  1. 应避免解析ls输出
  2. 应尽量减少eval的使用

答案 1 :(得分:0)

将awk脚本放在变量

var='{print  $7 " " $6 " " $8 " "}'
ls -lah | awk "$var"