Linux的数组讲解

本文详细介绍了Linux系统中数组的使用,包括数组的声明、统计元素个数、赋值、更改元素、计算字符数、遍历、切片、替换、删除字符及找最大值等操作,是理解Linux数组的重要教程。

数组

定义:是多个相同类型的元素组成的集合,数组的名字即变量的名字,我们在变量名后面加上下标编号来区分变量中的每一个值,因此数组变量又称下标变量,数组的下标从0开始,调用数组的元素时要使用${数组[下标]}的格式

数组的声明

declare -a abc  #声明数组
unset  abc  #取消数组
unset  ${abc[2]}  #取消数组某一元素

数组所有内容

echo ${abc[*]}  #查看数组
echo ${abc[@]}  #查看数组
declare -p abc  #查看数组

统计数组元素个数

echo ${#abc[*]}   #查看数组元素个数
echo ${#abc[@]}   #查看数组元素个数

数组赋值

abc=(a b c d e)   #数组赋值
abc[0]=1;abc[1]=2;abc[2]=3   #数组赋值
abc="1 2 3"    #数组赋值
bcd=${abc[*]}#将一个数组的值赋值给另一个数组
abc=(${abc[*]} aaa)   #给数组添加元素/变量叠加

更改数组中某一元素的值

a=(a b c d e)  #声明数组
${a[2]}=hhh  #修改下角标为2元素的值
a=(a b hhh d e)  #修改后的数组的值

统计数组某个位置上元素的字符数

echo ${abc[2]}|wc -c

遍历数组

	abc=(1 2 3)
		a=0
		for i in ${abc[@]}
		do
			echo "下标为$a的元素的值为:$i"
			let a++
		done

数组切片

格式:${数组名[@]:下标位:数量}

${abc[@]:1}    #从位置为1的元素开始取完
${abc[@]::3}   #从位置为0的元素开始连续取3个元素
${abc[@]:2:3}   #从位置为2的元素开始连续取3个元素
${abc[@]:(-2):2}  #从位置为倒数第2个元素开始连续取2个元素
bcd=(${abc[@]:(-2):2}   #将数组abc的倒数连个元素赋值到数组bcd中

数组的替换

abc=(one two three four)  #数组声明
${数组名[@或*]/旧字符/新字符}  #替换每个元素符合条件的第一个字符
${数组名[@或*]//旧字符/新字符}  #替换每个元素所有符合条件的字符

元素切片

格式:${数组名[5]:字符的位置:数量}

${abc[0]:1}  #从位置数为1的字符开始取完
${abc[0]::3}  #从位置为0的元素开始连续取3个字符
${abc[0]:2:3}  #从位置为2的字符连续取3个字符

元素字符的删除

${abc[n]/e/}   #每个被匹配元素只删除一个目标字符
${abc[n]//e/}  #每个被匹配元素删除多个目标字符

元素收尾字符替换

${abc[0]/#z/Z}   #将数组内第一个元素的首字符z替换成Z
${abc[0]/%n/N}   #将数组内最后一个元素的尾字符n替换成N

利用数组求最大值

a=(34 78 3 95 62 59 100)
		max=${a[0]}
		len=${#a[@]}

		for ((i=1;i<$len;i++))
		do
			if [[ ${a[i]} -gt ${max} ]]
			then
				max=${a[i]}
			fi
		done
		echo "数组中最大值为:$max"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值