Bash二维数组



:)我想从文件中读取行并保存第一和第二列。我想把它保存成bash中的二维数组。过滤是可以的,它做了正确的思考。但是我不知道如何检查数组是否为空(我的意思是它没有保存任何东西到该数组,所以它全部来自文件)。其次,我在FUNCTION和RELIANCE上得到错误,命令没有找到,回声又不起作用,试图用谷歌搜索一切,但似乎没有人使用两个索引维度数组。谢谢任何提示!

#!/bin/bash
declare -a NAMES
declare -a FUNCTION
declare -a RELIANCE
index=1
index1=1
for a in file.o 
do
  NAMES[$index]=$a  
  until [ nm file.o | grep -o '[UTBGCD].*' | awk '{print $2}' | awk "NR==$index1" -eq 0 ]
  do 
    FUNCTION[$index][$index1]=$( nm file.o | grep -o '[UTBGCD].*' | awk '{print $2}' | awk "NR==$index1" )
    RELIANCE[$index][$index1]=$( nm filea.o | grep -o '[UTBGCD].*' | awk '{print $1}' | awk "NR==$index1" )
    echo ${FUNCTION[$index][$index1]} 
    index1=$((index1+1))  
  done
  index=$((index+1)) 
done

Bash不支持多维数组。然而,你可以用两种方法之一来假装它。首先是关联数组:

declare -A array
x=1 y=2
array["${x}_$[y}"]=value

第二,对于固定大小的数组,您可以简单地做一些数学运算。

declare -a array
x_max=100
x=1 y=2
array[(y*x_max)+x]=value

相关内容

  • 没有找到相关文章

最新更新