首页 > 代码库 > 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使用方法