43 awk (四)

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,218评论 2 33
  • 转载 原文的排版和内容都更加友好,并且详细,我只是在这里贴出了一部分留作自己以后参考和学习,如希望更详细了解AWK...
    XKirk阅读 3,254评论 2 25
  • awk: grep,sed,awk grep:文本过滤 sed:文本编辑 awk:文本格式化工具; 1 什么是aw...
    木林森阅读 1,809评论 0 16
  • 文/夏至 最近读完了《天真的人类学家》,在跟随巴布所进行...
    木可易易阅读 455评论 0 2
  • # 北京西站出发
    SunStill阅读 186评论 0 0