1. awk -v
...
2. awk '<awk expr
ession>'
"awkvar=$extvar" filename
#BEGIN段不可用 3. 在awk表达式中使用
'$extvar' 4. 模式引用(在正则表达式中引用外部变量)
'"$extvar"' 5. 遍历外部数组(用于BEGIN段处理)
awk -f 'BEGIN{for(i=1;i<ARGC;i++)print ARGV[i]}' ${extarr[@]} 6. 引用环境变量
ENVIRON["environment variable"] eg:
cat http-access.log
[29/Mar/2010:01:46:59 +0000] "GET /blog/wp-content/themes/techified/images/bg_rss.gif HTTP/1.1" 200 652 "http://mydemoon.cn/blog/wp-content/themes/techified/style.css" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"
[29/Mar/2010:01:46:59 +0000] "GET /blog/wp-content/uploads/2009/12/IMG_00931-1024x768.jpg HTTP/1.1" 200 172422 "http://mydemoon.cn/blog/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"
[29/Mar/2010:01:46:59 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"
#!/bin/bash
dat1=`date |awk '{print $2}'`
dat2=`date -v -1m |awk '{print $2}'`
echo $dat1 $dat2
#awk -F"//" -v datvar1=$dat1 -v datvar2=$dat2 '$2 == datvar1 || $2 == datvar2 {print $0}' /home/zhubinfeng/http-access.log
awk -F"//" '$2 == data1 {print $0}' data1=$dat1 /home/zhubinfeng/http-access.log