方法1

1
awk '{print a, b}' a=${variable1} b=${variable2} yourfile

说明:变量位置要在文件名之前,否则就不能调用;BEGIN{}中是不能调用这些变量的.

方法2

1
awk –v a=${variable1} –v b=${variable2} '{print a,b}' yourfile

说明:每一个变量加一个-v作传递.

方法3

1
awk '{print "'''${variable}'''"}' yourfile

说明:变量用一对双引号中间三对单引号包裹起来,” ‘ ‘ ‘ ${variable} ‘ ‘ ‘ “

注意

变量对应的值包含空格符时,方法2与方法3均会报错,测试如下:

  • 方法2测试
    1
    2
    a="11 22"
    echo $a | awk -vT=$a '{print T}'

报错:awk: cmd. line:1: fatal: cannot open file `{print T}’ for reading (No such file or directory)

  • 方法3测试
    1
    2
    a="11 22"
    echo $a | awk '{print "'''$a'''"}'

报错:unterminated string

亲测方法1适用于变量值包含空格的情况,故推荐使用方法1.