zoukankan      html  css  js  c++  java
  • Linux常用基本命令:三剑客命令之-awk数组用法

    AWK的数组用法跟javascript类似。

    1,定义数组

    awk 'BEGIN{a[0]="zhangsan";a[1]="lisi";print a[0]}'

    2,打印一个没有定义的数组项,值为空

    awk 'BEGIN{a[0]="zhangsan";a[1]="lisi";print a[2]}'

    3,判断一个数组项 是否存在,用 ( 下标 in 数组 )

    ghostwu@dev:~/linux/awk$ awk 'BEGIN{a[0]="zhangsan";a[1]="lisi"; if( 1 in a ) print a[1]; }'
    lisi

    4,数组也可以用关联索引定义

    ghostwu@dev:~/linux/awk$ awk 'BEGIN{a["name"]="张三";a["name2"]="李四";print a["name"]}'
    张三

    5,delete:删除一个数组项或者一个数组

    ghostwu@dev:~/linux/awk$ awk 'BEGIN{a["name"]="张三";a["name2"]="李四";print a["name"]; delete a["name"]; print a["name"]; }'
    张三
    
    ghostwu@dev:~/linux/awk$ awk 'BEGIN{a["name"]="张三";a["name2"]="李四";print a["name"]; delete a["name"]; print a["name2"]; }'
    张三
    李四
    ghostwu@dev:~/linux/awk$ awk 'BEGIN{a["name"]="张三";a["name2"]="李四";print a["name"]; delete a; print a["name2"]; }'
    张三

    6,数字,字符串都可以进行算术运算

    >当一个不存在的元素,参与算术运算时,会被当做0

    >当一个元素是字符串,参与算术运算时,会被当做0

    ghostwu@dev:~/linux/awk$ awk 'BEGIN{ a = 1; print a; a = a + 1; print a }'
    1
    2
    ghostwu@dev:~/linux/awk$ awk 'BEGIN{ a = "ghostwu"; a = a + 1; print a }'
    1
    ghostwu@dev:~/linux/awk$ awk 'BEGIN{ print a[0]; a[0] = a[0] + 1; print a[0] }'
    
    1

    7,应用,统计某个字符串出现的次数

    ghostwu@dev:~/linux/awk$ awk '{count[$2]++} END{ for( i in count ) { print i,count[i]; } }' host.txt 
    192.177.81.1 1
    10.0.0.5 3
    192.168.9.254 1
    192.168.1.1 3
    192.168.3.98 2
    ghostwu@dev:~/linux/awk$ cat host.txt 
    host1    192.168.1.1
    host2    192.177.81.1
    host3    10.0.0.5
    host4    192.168.3.98
    host5    192.168.3.98
    host6    192.168.9.254
    host7    192.168.1.1
    host8    192.168.1.1
    host9    10.0.0.5
    host10    10.0.0.5
  • 相关阅读:
    element_2对话框
    填报
    润乾报表中进度条的一种实现方式
    列名作为分类值时如何画出统计图
    填报之动态扩展列
    自由格式填报的制作
    复杂报表设计之动态报表
    如何通过动态参数实现周报制作
    如何实现行列互换效果?
    大数据集报表点击表头排序
  • 原文地址:https://www.cnblogs.com/ghostwu/p/9097865.html
Copyright © 2011-2022 走看看