加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash中的数组数组

发布时间:2020-12-15 19:11:23 所属栏目:安全 来源:网络整理
导读:我试图逐行读取一个输入文件,其中包含以句点分隔的字段。 我想把它们放入一个数组中,以便稍后再循环一遍。输入似乎是确定的,但是将“推”到数组(inData)上似乎不起作用。 代码: Input file: GSDB.GOSALESDW_DIST_INVENTORY_FACT.MONTH_KEYGSDB.GOSALESDW
我试图逐行读取一个输入文件,其中包含以句点分隔的字段。
我想把它们放入一个数组中,以便稍后再循环一遍。输入似乎是确定的,但是将“推”到数组(inData)上似乎不起作用。

代码:

Input file: 
GSDB.GOSALESDW_DIST_INVENTORY_FACT.MONTH_KEY
GSDB.GOSALESDW_DIST_INVENTORY_FACT.ORGANIZATION_KEY


infile=${1}

OIFS=$IFS
IFS=":"

cat ${infile} | while read line
do
      line=${line//./:}
      inarray=(${line})
#      echo ${inarray[@]}
#      echo ${#inarray[@]}      
#      echo ${inarray[0]}
#      echo ${inarray[1]}
#      echo ${inarray[2]}

      inData=("${inData[@]}" "${inarray[@]}")
done 
IFS=$OIFS

echo ${#inData[@]}   

for ((i = 0; i < ${#inData[@]}; i++))
do
 echo $i
    for ((j = 0; j < ${#inData[$i][@]}; j++))
    do
       echo ${inData[$i][$j]}
    done
done
Bash不支持多维数组。尝试
array=(a b c d)
echo ${array[1]}
echo ${array[1][3]}
echo ${array[1]exit}

有关如何模拟它们的技巧,请参阅Advanced Bash Scripting Guide。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读