awk中使用shell变量

1、通过命令行参数定义变量时引用:

awk -v awk变量名= shell变量名

 #!/bin/bash

var4bash=test

awk -v var4awk="$var4bash"  'BEGIN { print  var4awk}' 

2、在awk中直接引用,使用"'$var'" ,注意使用前格式必须是先用单引号括住再用双引号括住:

#!/bin/bash

var=test

awk 'BEGIN { print "'$var'" }' 

注意:如果var有空格、转义字符等特殊字符,最好在$var外再用一个双引号括住: "'"$var"'"

另外,如果不是用脚本文件方式执行,直接在shell里执行,需要先用export var=test 导出为环境变量,

这样其后的awk子进程才会有该变量。

原文地址:https://www.cnblogs.com/lgj8/p/12492678.html