1、数值型变量
今天我是想从shell中传个参给awk的脚本中,探究尝试半天,实则非常简单,shell中的数值型变量在awk中可以直接使用字符串拼接的方式调用,例如以下两行awk执行效果相同
N=1
awk '{print$'${N}'}' q
awk '{print$1}' q
其中q文件中包含多行多列文本
2、文本型变量
可以用awk的参数传入:
awk (空格)'{脚本正文} ' (空格)参数名称=值(空格)数据源文件名
例如筛选出首列为腾讯视频url的行
awk -F'/' '$1==q{print$0}' q="v.qq.com" qq_mini
也可以使用-v , 但是我不知道有什么区别
q=`pwd`
awk -F'/' -v q="v.qq.com" '$1==q{print$0}' qq_mini
awk -F'/' -v q=${q} '$1==q{print$0}' qq_mini