您的位置:首页 > 运维架构 > Shell

awk引用shell中变量的几种方法

2011-09-07 16:27 696 查看
一:"'$var'"

这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如:

var="test"

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

这种写法其实就是把一对单引号分成了两段单引号,中间的shell变量直接按照shell变量的引用方式即可,但是如果var中含空格,为了shell不把空格作为分格符,便应该如下使用:

var="thisis a test"

awk'BEGIN{print "'"$var"'"}' (也就是在shell变量的两边加上一对双引号即可)

二:export变量,使用ENVIRON["var"]形式, (ENVIRON为awk中的内置环境变量数组)

如:

var="thisis a test";export $var

awk'BEGIN{print ENVIRON["var"]}'

三:当然也可以使用-v选项

如:

var="thisis a test"

awk –vnvar="$var" 'BEGIN{printnvar}'

这样便把系统变量定义成了awk变量.

如果在awk是这种格式的话 awk 'script'filename 也可以这样引用shell变量

awk'script' awkvar="shellvar" filename

awk'END{print awkvar}' awkvar="$shellvar" filename
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: