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 }' ghostwu@dev:~/linux/awk$ awk 'BEGIN{ a = "ghostwu"; a = a + 1; print a }' ghostwu@dev:~/linux/awk$ awk 'BEGIN{ print a[0]; a[0] = a[0] + 1; print a[0] }'
7,应用,统计某个字符串出现的次数
ghostwu@dev:~/linux/awk$ awk '{count[$2]++} END{ for( i in count ) { print i,count[i]; } }' host.txt 192.177.81.1 10.0.0.5 192.168.9.254 192.168.1.1 192.168.3.98 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
相关推荐
chenpro 2020-07-04
fendou00sd 2020-06-16
RealJianyuan 2020-06-14
cwgxiaoguizi 2020-06-05
chenpro 2020-06-02
Neptune 2020-05-31
老谢的自留地 2020-05-09
YukiRain 2020-05-08
baobaozai 2020-04-29
Proudoffaith 2020-04-08
fenxinzi 2020-03-01
zhiliang 2020-01-31
wannagonna 2020-01-13
wandererdl 2019-12-25
chenchuang 2020-01-25
jyj00 2020-01-09
fendou00sd 2020-01-07
fendou00sd 2020-01-06
PHP学习笔记 2020-01-06