awk 引用外部变量的方法

用awk 有 以下几种方法去调用变量:

1. 

 awk '{print a, b}' a=111 b=222 yourfile
注意, 变量位置要在 file 名之前, 否则就不能调用. 例如:
awk '{print a, b}' a=111 file1 b=222 file2
file1 不能调用 b=222.
还有, 于 BEGIN{}中是不能调用这些的variable. 要用之后所讲的第二种方法才可解决.

2.  awk –v a=111 –v b=222 ‘{print a,b}’ yourfile
注意, 对每一个变量加一个 –v 作传递.

3.  awk ‘{print “’”$LOGNAME”’”}’ yourfile
如果想调用environment variable, 要用以上的方式调用, 方法是:
(我加上空格让大家容易明白)
“  ‘  “  $LOGNAME  “  ‘  “

实例:
#!/bin/bash
#此作用列出文件名称中以日期开头,并且小于某个日期的文件名称。一般可以用于删除一些日志文件的筛选
curdate=20110715

Filename=`ls -l|awk -v cdate=$curdate 'NR!=1 && $8<cdate {print $8}'`
echo $Filename
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值