Bash 中的多维数组
多维数组对于任何程序都是非常重要的元素。 它主要用于创建数据的表视图和许多其他用途。
本文演示如何创建二维数组。 此外,我们将通过必要的示例和解释来讨论该主题。
我们将在这里讨论两种不同的方法。
在 Bash 中声明多维数组的基本方法
这是创建多维数组的最基本方法。 在下面的示例中,我们将创建一个非常基本的二维数组。
下面是我们示例的代码。
ArrayOfArray_1=("Alen" "24")
ArrayOfArray_2=("Walker" "31")
MainArray=(
ArrayOfArray_1[@]
ArrayOfArray_2[@]
)
ArrayLength=${#MainArray[@]}
for ((i=0; i<$ArrayLength; i++))
do
name=${!MainArray[i]:0:1}
age=${!MainArray[i]:1:1}
echo "Name : ${name}"
echo "Age : ${age}"
done
上面的代码显示我们声明了两个不同的数组,名为 ArrayOfArray_1 和 ArrayOfArray_2。 之后,我们声明了我们的主数组,其元素是我们最近声明的这两个数组。
然后我们计算了一个循环的数组长度。 在循环内部,我们通过索引主数组从这两个子数组中提取数据。
最后,我们回显最终结果。 执行脚本后,您将获得如下所示的输出。
Name : Alen
Age : 24
Name : Walker
Age : 31
在 Bash 中使用关联数组声明二维数组
这个方法有点复杂。 此方法将讨论一个名为关联数组的特殊 Bash 脚本数组。
关联数组是一种特殊的数组,可以将字符串值存储为键或索引。 它类似于其他编程语言。
声明关联数组的一般语法是 declare -A ArrayName。
下面的示例将创建一个包含五行六列的二维数组。 下面是我们示例的代码。
declare -A Array2D
RowNum=5
ColumnNum=6
for ((i=1;i<=RowNum;i++)) do
for ((j=1;j<=ColumnNum;j++)) do
Array2D[$i,$j]=$RANDOM
done
done
f1="%$((${#RowNum}+1))s"
f2=" %9s"
printf "$f1" ''
for ((i=1;i<=RowNum;i++)) do
printf "$f2" $i
done
echo
for ((j=1;j<=ColumnNum;j++)) do
printf "$f1" $j
for ((i=1;i<=RowNum;i++)) do
printf "$f2" ${Array2D[$i,$j]}
done
echo
done
在上面的示例中,我们声明了一个名为 Array2D 的关联数组。
之后,我们创建了两个变量并为它们分配了一个整数值。 此整数值指定行数和列数。
然后我们创建了一个嵌套循环,用随机数填充数组。
现在我们完成了数组的声明和组织。 是时候看看我们的二维数组是什么样子了。
我们通过使用一些循环来做到这一点,如代码所示。 当您执行上面的脚本时,您将看到如下所示的输出。
1 2 3 4 5
1 16700 5241 2599 24330 1662
2 23264 19557 10425 13413 25606
3 17987 4199 13598 23897 26734
4 24420 27830 24855 8165 13531
5 15495 18790 13347 12947 11826
6 23458 22838 137 32454 32441
本文中的所有代码都是用 Bash 编写的。 它只会在 Linux Shell 环境中工作。
相关文章
在 Bash 脚本中执行变量中的命令
发布时间:2023/05/18 浏览次数:106 分类:操作系统
-
本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。
Bash md5sum 命令
发布时间:2023/05/18 浏览次数:197 分类:操作系统
-
本篇文章介绍如何在 Bash 中使用 md5sum 命令。Bash md5sum 命令。md5sum 命令打印给定文件的 32 字符和 128 位校验和。
在 Bash 中排序数组
发布时间:2023/05/18 浏览次数:150 分类:操作系统
-
对数组进行排序对于任何编程语言来说都是一项非常常见的任务。 在 Bash 脚本中,我们还可以通过两种不同的方式完成此任务。
如何在 CentOS 中获取 IP 地址
发布时间:2023/05/04 浏览次数:109 分类:操作系统
-
这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。
在 Linux 中更新 YUM
发布时间:2023/05/04 浏览次数:86 分类:操作系统
-
本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。
在 Linux 中安装 Deb 文件
发布时间:2023/05/04 浏览次数:133 分类:操作系统
-
本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。
Linux 中的 lsof 命令
发布时间:2023/05/04 浏览次数:84 分类:操作系统
-
在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。