跳转至

awk 调用shell 变量


2016-01-13 by dongnan

目标

使用 awk 调用外部的 shell 变量。

注意:awk是输入驱动的,所以下面的示例中都有一个输出为空的 echo 语句。

方式1

语法格式: awk '{action}' 变量名=变量值,这样传入变量,可以在action中获得值。

设置shell变量

var1='this var1'

调用shell变量

echo | awk  '{print test}' test="$var1"
this var1

这种方式在 BEGIN 或者 END的action不能获得,可以参考方式2。

方式2

语法格式: awk –v 变量名=变量值 [–v 变量2=值2 …] 'BEGIN{action}'

注意,用-v 参数传入变量可以在3种类型的 action 中都可以获得到,但顺序在 action前面。

设置shell变量

var1='this var1'

调用shell变量

# Main
echo | awk -v test="$var1" '{print test}'
this var1

# BEGIN
echo | awk -v test="$var1" 'BEGIN{print test}'
this var1

# END
echo | awk -v test="$var1" 'END{print test}'
this var1



回到页面顶部