从终端(unix)创建一个二维数组



我想创建一个二维数组。例如,free -h 给了我一个表格。我想在没有awk的情况下创建带有2D数组的同一张表。我怎样才能用声明 -a 矩阵来声明它。感谢社区

它不是开箱即用的,但你可以按照下面的说明来模拟它,问题是当你循环时,你需要将每一行传递给另一个数组

示例数据具有这些文件的文件名和列

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 的数组。

我已经使用过这个并工作。如果您还有其他问题,请随时询问

最新更新