大家好,欢迎来到IT知识分享网。
数组基础
数字变量只能定义一个数,数组可以定义多个数
数组有索引和值,一般的索引是使用0、1、2递增
awk数组也支持使用字符串为索引,类似于字典
Shell最简单的数组定义,为什么Shell数组不多讲?
numbers[0]=2
numbers[1]=4
numbers[2]=6
numbers[3]=8
echo ${numbers[0]} #第一个数
echo ${numbers[1]} #第二个数
echo ${numbers[n]} #第n+1个数
echo ${numbers[*]} #所有数字
unset numbers #删除变量
numbers=(2 4 6 8)
echo ${numbers[0]}
Shell关联数组支持用字符串为索引
declare -A info
info[‘name’]=”jackin”
info[‘age’]=28
echo ${info[‘name’]}
echo ${info[‘age’]}
awk循环语法
for(i in 数组变量){
print i,数组变量[i]
}
array[0]++相当于
array[0] = array[0] + 1
awk的数组和循环打印,awk的数组还是比较常用的
awk ‘BEGIN{ array[0]=2; array[1]=4; print array[1] }’
awk ‘BEGIN{ array[0]=2; array[1]=4; array[2]=6; for(i in array){print i,array[i]} }’ #简单数组的字义
awk ‘BEGIN{ array[0]++;array[0]++; array[1]–; for(i in array){print i,array[i]} }’ #数字默认值为0
awk ‘BEGIN{ info[“age”]=28; info[“name”]=”jackin”; for(i in info){print i,info[i]} }’ #awk数组字符串索引
awk统计每个城市出现的次数
cat /tmp/jackin | awk ‘{print $3}’| sort |uniq -c #效率差,因为还排序
cat /tmp/jackin |awk ‘{ count[$3]++ }END{for(city in count){print city,count[city]} }’
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21218.html