数组
定义:是多个相同类型的元素组成的集合,数组的名字即变量的名字,我们在变量名后面加上下标编号来区分变量中的每一个值,因此数组变量又称下标变量,数组的下标从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"
本文详细介绍了Linux系统中数组的使用,包括数组的声明、统计元素个数、赋值、更改元素、计算字符数、遍历、切片、替换、删除字符及找最大值等操作,是理解Linux数组的重要教程。
396

被折叠的 条评论
为什么被折叠?



