43 awk (四)

2016-10-30  本文已影响30人  StarShift

awk 数组

Array[1]="www" 
Array[2]="name" 
Array[3]="1987"
root@ubuntu:~# echo | awk '{Array[1]="www"; Array[2]="name"; Array[3]="1987";for(i=1;i<=3;i++) {print Array[i]};}'
www
name
1987

Array["first"]="www" 
Array["last"]="name" 
Array["birth"]="1987"
root@ubuntu:~# echo | awk '{Array["first"]="www"; Array["last"]="name"; Array["birth"]="1987";for(item in Array) {print Array[item]}; }'
name
1987
www 
root@ubuntu:~# awk 'BEGIN{info="it is a test";split(info,tA," ");for(k in tA){print k,tA[k];}}' 
1 it
2 is
3 a
4 test

root@ubuntu:~# awk 'BEGIN{info="it is a test";tlen=split(info,tA," ");for(k=1;k<=tlen;k++){print k,tA[k];}}' 
1 it
2 is
3 a
4 test

错误的判断方法

root@ubuntu:~# awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";if(tB["c"]!="1"){print "no found";};for(k in tB){print k,tB[k];}}' 
no found
a a1
b b1
c 

正确的方法

root@ubuntu:~# awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";if( "c" in tB){print "ok";};for(k in tB){print k,tB[k];}}' 
a a1
b b1

删除键

root@ubuntu:~# awk 'BEGIN{tB["a"]="a1";tB["b"]="b1";delete tB["a"];for(k in tB){print k,tB[k];}}'
b b1
上一篇 下一篇

猜你喜欢

热点阅读