将一些变量传递给awk

时间:2014-09-18 09:29:54

标签: shell awk

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

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

但它会返回此错误

awk:致命:“50”不是合法的变量名称

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

如果$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总是使用双引号和变量。