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
  • 相关阅读:
    VMware 创建的虚拟机,Xshell无法进行连接
    Centos7 文件修改详情
    Centos7 selinux关闭
    centos7 RPM命令使用
    centos 操作系统优化
    centos 内存使用情况+负载使用情况
    Centos 修改环境变量
    centos7 系统级别(持续更新)
    centos7 常规修改信息(比较杂的)持续更新
    centos7 修改网卡信息
  • 原文地址:https://www.cnblogs.com/ghostwu/p/9097865.html
Copyright © 2011-2022 走看看