今天在书上看到了一个关联数组 let statarray["$ftype"]++  这样一个操作,用来做索引的自增统计,所以记下来 #!/bin/bash #统计文件类型 #关于关联数组 用let ++ 值自增的验证 if [ $# -ne 1 ]; then echo "Usage is $0 basepath"; exit fi path=$1 declare -A statarray; #定义一个关联数组 for line in $(find $path -t…
最近由于数据迁移过,有些用户信息需要再次确认下,也许数据量比较大,但是需要最终确认的比如说是用户ID和其对应的用户积分数,这样就会导致出现文本a(老的数据),文本b(新的数据).比如 这是文本a.txt 文本b.txt如下 列举的文本例子只是为了说明使用方法列举的最简单的文本,实际数据可能要复杂的多,可能会出现b.txt 中出现的ID在a.txt中没有出现等等情况,这里只是为了说明awk 关联数组的高级应用,方便大家理解. 我们会发下b.txt中的ID 为1102 和1103 用户的积分数与先前…
参考资料: shell字符串分割再循环:http://www.shangxueba.com/jingyan/1633455.html linux shell中 if else以及大于.小于.等于逻辑表达式介绍:http://www.jb51.net/article/34332.htm Shell数组:shell数组的定义.数组长度:http://c.biancheng.net/cpp/view/7002.html shell 数组长度:http://blog.csdn.net/shaobingj…
Shell数组的增删改查 shell数组的定义及取值: a=(1 2 3) [root@bogon tmp]# echo ${a[*]}  1 2 3 [root@bogon tmp]# echo ${a[@]} 1 2 3   增加数组元素: [root@bogon tmp]# a[3]=4 [root@bogon tmp]# echo ${a[@]} 1 2 3 4   修改数组元素: [root@bogon tmp]# a[0]=freddy   [root@bogon tmp]# ech…
本文主要对shell编程中常用的数组.关联数组和awk数组定义.操作以及注意事项做个总结,并提供具体案例. 数组 数组定义:一对圆括号表示数组,数组元素之间用空格符号分割. Array=(val1 val2 val3) 数组操作:包括获取长度,数组元素查询.增加.删除.修改,获取数组下标 #获取数组长度 ${#Array[@]} #Arr表示数组名,下同 ${#Array[*]} #获取数组元素 ${Array[@]} #获取数组全部元素 ${Array[*]} #同上 ${Array[]} #…
SHELL脚本编程-普通数组(列表)和关联数组(字典) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组相关概述 变量: 存储单个元素的内存空间 数组: 存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持(关联数据使用时必须提前声明类型) bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_…
使用bash关联数组统计单词 从bash 4开始支持关联数组,使用前需要声明,即 declare -A map map[key1]=value1 map[key2]=value2 map=([key1]=value1 [key2]=value2) # 获取keys keys=${!map[@]} # 获取values values=${map[@]} 利用关联数组,很容易实现单词统计,源码文件wordCount.sh #!/bin/bash if [[ $# -lt 1 ]] then echo…
一.数组类似c语言的数组 1.两种赋值方式 可以整体定义数组:ARRAY_NAME=(value0 value1 value2 value3 ...) 此时数组的下标默认是从0开始的 还可以单独定义数组的各个分量:ARRAY_NAME[0]=value0ARRAY_NAME[1]=value1ARRAY_NAME[n]=valuen 2.常规数组元素的访问 2.1.使用数组名与索引值 ${arrayName[index]} 2.2.遍历常规数组的所有元素 ${arrayName[*]} 2.3.…
数组和关联数组 #!/bin/bash #定义数组1 array_var1=(1 2 3 4 5 6)# #定义数组2 array_var[0]="test1" array_var[1]="test2" array_var[2]="test3" array_var[3]="test4" array_var[4]="test5" array_var[5]="test6" #打印指定索引的元…
使用 declare -A(declare 的用法请使用 help 进行查看,help declare) 进行声明关联数组变量: $ declare -A fruits_price $ fruits_price=([apple]='$100' [orange]='$150') 列出关联数组的索引(也就是 key): $ echo ${!fruits_price[*]} $ echo ${!fruits_price[@]}…