shell变量与awk脚本传参

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容