awk使用外部变量
方法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
2a="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
2a="11 22"
echo $a | awk '{print "'''$a'''"}'
报错:unterminated string
亲测方法1适用于变量值包含空格的情况,故推荐使用方法1.
- 本文链接:https://gk4030.github.io/2019/07/30/awk使用外部变量/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!