简单点的
clouder@server4-120:~$ echo "unix script"| awk -v a="unix s" -v b="BASH" 'gsub(a, b)'
BASHcript
clouder@server4-120:~$
稍微复杂点的
clouder@server4-120:~$ echo "unix script"| awk -v a="unix" -v b="BASH" '{m=a"[^s]*s";gsub(m, b)}1'
BASHcript
clouder@server4-120:~$
这种写法可以类推到sub gensub 等等所有需要用到变量的函数。
clouder@server4-120:~$ var="BASH";echo "unix script"| awk 'gsub(/unix/,"'$var'")'
BASH script
这样测试也可以,更符合一般的AWK引用变量的习惯,但是变量+正则的写法建议还是用上面那种写法。