shell练习--关于关联数组自增统计判断的学习
今天在书上看到了一个关联数组 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 -type f -print) #通过 find的-print 将输出给for循环
do
ftype=`file -b "$line" | cut -d , -f1` #通过file命令获取文件类型,并赋值给ftype
let statarray["$ftype"]++; #自增操作,此处有疑问,关联数组的赋值也是直接在本条语句中赋值的吗?
echo "$ftype:${statarray["$ftype"]}"
done
echo ================= file types and counts =====================
for ftype in "${!statarray[@]}";
do
echo $ftype : ${statarray["$ftype"]}
done
输出结果:
wyf349@ubuntu:~/user/study_shell$ ./filestat.sh /home/wyf349/user/study_shell
ASCII text:1
UTF-8 Unicode text:1
UTF-8 Unicode text:2
ASCII text:2 #由输出结果可知,对应索引值为ASCII的值,在做自增操作。
empty :1
ASCII text:3
empty :2
ASCII text:4
Bourne-Again shell script:1
ASCII text:5
ASCII text:6
ASCII text:7
Bourne-Again shell script:2
ASCII text:8
Bourne-Again shell script:3
ASCII text:9
UTF-8 Unicode text:3
Bourne-Again shell script:4
Bourne-Again shell script:5
ASCII text:10
ASCII text:11
================= file types and counts =====================
empty : 2
Bourne-Again shell script : 5
ASCII text : 11
UTF-8 Unicode text : 3
shell练习--关于关联数组自增统计判断的学习的更多相关文章
- shell 之awk 关联数组高级应用
最近由于数据迁移过,有些用户信息需要再次确认下,也许数据量比较大,但是需要最终确认的比如说是用户ID和其对应的用户积分数,这样就会导致出现文本a(老的数据),文本b(新的数据).比如 这是文本a.tx ...
- 【Linux】shell字符串分割、数组访问、条件判断
参考资料: shell字符串分割再循环:http://www.shangxueba.com/jingyan/1633455.html linux shell中 if else以及大于.小于.等于逻辑表 ...
- Shell数组的增删改查
Shell数组的增删改查 shell数组的定义及取值: a=(1 2 3) [root@bogon tmp]# echo ${a[*]} 1 2 3 [root@bogon tmp]# echo $ ...
- [ SHELL编程 ] 数组、关联数组和awk数组
本文主要对shell编程中常用的数组.关联数组和awk数组定义.操作以及注意事项做个总结,并提供具体案例. 数组 数组定义:一对圆括号表示数组,数组元素之间用空格符号分割. Array=(val1 v ...
- SHELL脚本编程-普通数组(列表)和关联数组(字典)
SHELL脚本编程-普通数组(列表)和关联数组(字典) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组相关概述 变量: 存储单个元素的内存空间 数组: 存储多个元素的连续的 ...
- 使用bash关联数组统计单词
使用bash关联数组统计单词 从bash 4开始支持关联数组,使用前需要声明,即 declare -A map map[key1]=value1 map[key2]=value2 map=([key1 ...
- shell编程之数组和关联数组
一.数组类似c语言的数组 1.两种赋值方式 可以整体定义数组:ARRAY_NAME=(value0 value1 value2 value3 ...) 此时数组的下标默认是从0开始的 还可以单独定义数 ...
- shell之数组和关联数组
数组和关联数组 #!/bin/bash #定义数组1 array_var1=(1 2 3 4 5 6)# #定义数组2 array_var[0]="test1" array_var ...
- Linux shell —— 数组与关联数组
使用 declare -A(declare 的用法请使用 help 进行查看,help declare) 进行声明关联数组变量: $ declare -A fruits_price $ fruits_ ...
随机推荐
- linux 设备树中 dwc3 节点的phys参数含义
找了好久今天找到了,记录一下: &dwc3_0 { ... phys = <&lane3 PHY_TYPE_USB3 1 2 26000000>; ... } Requir ...
- TIOBE11月份编程语言排行榜:C非常接近Java,分析下中美的就业情况
TIOBE公布11月份编程语言排行榜:C非常接近Java Swift挤进前10,分析下中美的就业情况. 我们先看看他们官方对数据的解读 本月TIOBE指数前20位出现了一些有趣的变动.首先,C语言现在 ...
- IDEA github 上传项目, 拉取, 删除
1.IDEA登录github账号 settings -> Version Controller -> GitHub 用户名密码登录 或token登录都可以 2.VCS -> impo ...
- React同构起步
React同构从0到1 前言 如果你想快速做react同构的新项目建议你去了解next.js等成熟框架,本教程仅限于想了解如何从0开始实现一个同构环境过程的同学,对于想改造现有spa项目的同学也很有帮 ...
- Kick Start 2019 Round D
X or What? 符号约定: $\xor$ 表示异或. popcount($x$) 表示非负整数 $x$ 的二进制表示里数字 1 出现的次数.例如,$13 = 1101_2$,则 popcount ...
- [UER #1] DZY Loves Graph
题目描述 开始有 \(n\) 个点,现在对这 \(n\) 个点进行了 \(m\) 次操作,对于第 \(i\) 个操作(从 \(1\) 开始编号)有可能的三种情况: \(Add\) a b: 表示在 \ ...
- 关于c++对拍的办法
众所周知,在\(oi\)学习以及考试中,对拍是一件非常重要的事. 有了对拍后,我们可以利用它发现代码上的一些非常难看出来的错误. 编写对拍程序一般有两个办法. 方案一 编写一个对拍的\(cpp\),并 ...
- python3的base64编解码
使用python3的base64编解码实现字符串的简易加密解密 引言: 在一些项目中,接口的报文是通过base64加密传输的,所以在进行接口自动化时,需要对所传的参数进行base64编码,对拿到的响应 ...
- github项目多人进行合作开发,填坑记录
1.Fork别人的github项目. Fork项目成功后,再进行把项目克隆到你本地.(我的项目已经克隆到本地了,右边是克隆下来的所有文件,除了 node_modules) git命令: git clo ...
- kafka工作原理
https://blog.csdn.net/qq_29186199/article/details/80827085 https://www.jianshu.com/p/4bf007885116 ht ...