awk中调用shell变量注意事项

来源:互联网 发布:怎样装修更省钱 知乎 编辑:程序博客网 时间:2024/05/29 10:09
 
awk中不能直接用$var来引用shell的变量,昨天写的shell脚本,有一列是不正确的,导致最后一列>50那处数据不正确,悲催的语法。有空再把质量统计数据加入到支撑平台吧。


#上面的$(normal)是不正确的,会导致数据计算出错。

awk在调用shell变量时,需要使用参数-v,修改后:

其中$normal、为shell中变量,可以看出,每调用一次变量都要加一个-v参数,后面使用shell变量的时候,就不用加$了,直接用normal就好了。

其中$currentFilePath不在awk语句中,所以不受影响。

ps:sed一般使用单引号,sed引用shell变量时使用双引号即可,因为双引号是弱转义,不会去除$的变量表示功能,而单引号为强转义,会把$作为一般符号表示,所以不会表示为变量。