Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184967
  • 博文数量: 55
  • 博客积分: 1471
  • 博客等级: 上尉
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-08 14:00
文章分类

全部博文(55)

文章存档

2012年(5)

2011年(50)

分类: LINUX

2011-08-11 15:28:58

-----------------以下内容来自网络------------------------------------
一、"'$var'"
这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.
如:
  1. var="test"
  2. awk 'BEGIN{print "'$var'"}'
这种写法其实际是双括号变为单括号的常量,传递给了awk.
如果var中含空格,为了shell不把空格作为分格符,便应该如下使用:
  1. var="this is a test"
  2. awk 'BEGIN{print "'"$var"'"}'

二、使用-v选项
如:
  1. var="this is a test"
  2. awk -v nvar="$var" 'BEGIN{print nvar}'
这样便把系统变量定义成了awk变量.
 
三、
  1. awk '{print v1, v2}' v1=$VAR1 v2=$VAR2 input_file
  2. awk -v v1=$VAR1 -v v2=$VAR2 '{print v1, v2}' input_file
  3. awk '{print "'"$VAR1"'", "'"$VAR2"'"}' input_file
把变量用在正则里面
  1. awk ' $0 ~ v1; {print v2}' v1=$VAR1 v2=$VAR2 input_file
阅读(1077) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~