scriptⅥ

本文详细介绍了Shell脚本中普通数组和关联数组的使用,包括元素的添加、遍历及获取个数和索引。同时,讲解了`wc`命令的使用方法,如统计文件的行数、单词数和字节数。还提供了一个统计`/etc/passwd`文件中用户类型的示例,展示了如何通过数组统计特定数据。
摘要由CSDN通过智能技术生成

普通数组
关联数值

name =dav
echo ${name:1}   // v    类似切片
echo ${name:1:1} // d

book =(math、language、music)
echo ${boo[1]}        // math
echo ${book[*/@]}      // 全部
echo	${#array1[@]}  查看数组个数
echo	${!array1[@]}  查看数组索引

declare -A name    //关联数组必须申明
name=([wang]=wangqiang [li]=liming [zhang]=zhangfei)
echo ${name[@]}
//结果 wangqiang liming zhangfei

遍历数组

1、shucu.txt里面的内容 while 按照逐行读取在这里插入图片描述

#!/usr/bin/bash
while read line
do
      echo $line     
      hostsy[i++]=$line

done < /home/lmm/OneMore/scripts/shucu.txt

echo ${hostsy[*]}   //内容
echo ${!hostsy[*]}  //索引
~                       

在这里插入图片描述

https://blog.csdn.net/weixin_41092791/article/details/100525847
[root@localhost shell]# wc --help
用法:wc [选项]... [文件]...
 或:wc [选项]... --files0-from=F
输出每个指定文件的行数、单词计数和字节数,如果指定了
多于一个文件,继续给出所有相关数据的总计。如果没有指定
文件,或者文件为"-",则从标准输入读取数据。
  -c, --bytes		输出字节数统计
  -m, --chars		输出字符数统计
  -l, --lines		输出行数统计
      --files0-from=文件	从指定文件读取以NUL 终止的名称,如果该文件被
					指定为"-"则从标准输入读文件名
  -L, --max-line-length	显示最长行的长度
  -w, --words			显示单词计数
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

2.统计 /etc/passwd 的 shell 数量

  1.通过数组元数的个数进⾏遍历(不推荐)
  2.通过数组元数的索引进⾏遍历(推荐)
注意: 将统计的对象作为数组的索引, 仅针对关联数据
[root@Shell	~]#	cat	array_passwd_count.sh
#!/usr/bin/bash
declare	-A	array_passwd
#1.对数组进⾏赋值
while read	line
do
	type=$(echo $line|awk	-F	':' '{print	$NF}')
	let	array_passwd[$type]++
done	</etc/passwd
#2.对数组进⾏遍历
for	i	in ${!array_passwd[@]}
do
				echo 索引是:$i,索引的值是:	${array_passwd[$i]}
done

参考博文https://www.xuliangwei.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值