从终端创建2D数组(unix)

时间:2016-02-11 09:35:45

标签: unix

我想创建一个2D数组。例如free -h给了我一张桌子。我想用没有awk的2D数组创建相同的表。如何用declare -a matrix声明它。谢谢社区

1 个答案:

答案 0 :(得分:1)

它不支持开箱即用,但您可以按照下面的说明进行模拟,捕捉是在循环时需要将每一行传递到另一个数组

示例数据包含这些

的文件名和列
browser browserId browserName
country countryId countryName
event eventId eventName

您的数组声明将是

myArray=(
"browser browserId browserName"
"country countryId countryName"
"event eventId eventName")

如果您想创建一个循环来处理每一行

for afile in "${myArray[@]}"
   do    
   aline=($afile)
   filename=${aline[0]}
   column1=${aline[1]}
   column2=${aline[2]}
done

afile=($afile)

将myArray中的每一行传递给另一个名为aline的数组。

我用过这个并且有效。如果您有任何其他问题,请随时询问