【问题标题】:pass some variables to awk [duplicate]将一些变量传递给 awk [重复]
【发布时间】:2014-09-18 09:29:54
【问题描述】:

我想写一个 bash 并传递一些变量给它。

awk -v $3=lengthA -v $4=lengthB 'NF<=lengthA/lengthB' - >  

但它返回此错误

awk: fatal: `50' 不是合法的变量名

【问题讨论】:

标签: shell awk


【解决方案1】:

如果$3来自shell,那么

awk -v var=$3 'NF<=var' file

如果你喜欢使用 shell 变量,那么

lengthA=3
awk -v var="$lengthA" 'NF<=var' file

awk 'NF<=var' var="$lengthA" file

PS 总是对变量使用双引号。

【讨论】:

    【解决方案2】:

    参数-v 需要name=value。所以你需要写-v lengthA=$3

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 2018-09-28
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      相关资源
      最近更新 更多