首页 > 代码库 > awk使用方法
awk使用方法
1.awk中引用外部变量,有三种方式
awk ‘pattern{action}‘ file
1)awk ‘{print a,b}‘ a=111 b=222 file,此时BEGIN模块无法用该变量
2) awk -v a=111 b=222 ‘{print a,b}‘ file
3) a=111;b="网页游戏";
awk ‘$1 ~/‘"$b"‘/{print $0}‘ file 先单引号再双引号,代表查找第一列包含 网页游戏 的行
awk ‘$1 ~/"‘$b‘"/{print $0}‘ file 先双引号再单引号,代表查找第一列包含 "网页游戏"的行(相对于上面多了两个双引号,即连带匹配这两个双引号)
2.awk ‘NR==1,NR==10{action}‘ file 在1到10行之间操作action,NR是代表处理到的行数
3.awk ‘NR > 10{action}‘ file,处理行数大于10
4.awk ‘/abc/{action}‘ file,在包含abc的行中执行action操作,
5.awk ‘$1 ~/abc/{action}‘ file 在第一列中包含abc的行中执行action操作
6.awk ‘$1 !~/abc/{action}‘ file 在第一列中不包含abc的行中执行action操作
7.awk关联数组的建立与遍历
awk ‘BEGIN{count=0}{name[count]=$0;count++}END{for(key in name)printf "%d:%s",key,name[key]}‘ file
查看关联数组中是否存在key
awk ‘{if(name[$1]){name[$1]++;}else{name[$1]=1}}END{for(key in name)printf "%d:%d\n",key,name[key]}‘ file
awk使用方法