首页 > 解决方案 > 获取数组元素大小

问题描述

我创建了一个由一系列数字组成的数组。如何检查每个元素的大小,并且根据位数,每个元素都有我想添加更多的数字。下面我有一些代码使用一个变量来完成这个,但我想用数组来做

#array I would like to use 
start=0
end=20
myarray=( $(seq $start  $end) )

#example of how I accomplish this using a variable. checks if the number of integers is between 1-5
and adds some numbers to the end. I would like to accomplish this but with an array.

number=2

local newnum=`expr length "$number"` #get lenght of the variable

if [ "$newnum" -eq "1" ];then 
    number="0000${number}" 

elif [ "$newnum" -eq "2" ];then
      number="000${number}"   

elif [ "$newnum" -eq "3" ];then
     number="00${number}"

elif [ "$newnum" -eq "4" ];then
    number="0${number}"

elif [ "$newnum" -eq "5" ]; then
    echo "you enter five numbers"
    #number remains the size 
else
    exit
fi #end if 







标签: bash

解决方案


单程:

for val in "${myarray[@]}"
do
    len=${#val}
    echo $val , $len
    ....do action depending on $len .....
done

推荐阅读