【问题标题】:Linux awk string exec variableLinux awk 字符串 exec 变量
【发布时间】:2013-05-08 03:17:04
【问题描述】:

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

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

但是如果我尝试类似的东西

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

我做错了什么?

【问题讨论】:

    标签: linux string variables awk exec


    【解决方案1】:

    您需要调用eval,而不是exec

    ls -lah | eval $var
    

    但是这里有两个注意事项:

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

    【讨论】:

      【解决方案2】:

      只需将 awk 脚本放入变量中

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

      【讨论】:

        猜你喜欢
        • 2021-09-08
        • 2019-10-17
        • 2016-01-02
        • 1970-01-01
        • 2020-03-23
        • 2014-08-28
        • 1970-01-01
        • 2021-08-05
        • 2019-12-25
        相关资源
        最近更新 更多