arrays - shell 脚本中数组的最大元素及其索引

标签 arrays bash shell scripting multidimensional-array

如何在 shell 脚本中找到数组中的最大元素及其索引。我有一个数组

a = [-2.2116565098 -2.1238242060 -2.1747941240 -2.3201010162 -2.3677779871 -1.8126464132 -2.1247209755 -2.1190930712 -2.3242384636 -2.1081702064];

现在,我想在 bash 脚本中找到最大值及其索引。有没有像Matlab中那样的快捷方式

[C, I] = max(a);

另外,我们如何拥有多维数组并获取最小和最大元素的索引和值。

最佳答案

$ x='-2.2116565098 -2.1238242060 -2.1747941240 -2.3201010162 -2.3677779871'
$ IC=(`tr ' ' '\n' <<<$x | cat -n | sort -k2,2nr | head -n1`)
$ I=${IC[0]} C=${IC[1]}
$ echo $I $C
2 -2.1238242060

关于arrays - shell 脚本中数组的最大元素及其索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9566382/

相关文章:

ruby - 使用交换时进程退出时出现 Errno::ENOMEM

c++ - 使用 mpfr 数组的替代方法

java - 简单的 OOP/私有(private)变量查询 - Java

java - 使用 for 循环用两个一维数组填充二维数组

linux - 从当前目录到另一个目录的 scp 批量文件

linux - 用 sed 给 grub 添加一个内核参数

php - 在 foreach 的每次迭代中创建新数组

linux - Bash 脚本独立运行,不能在 crontab 中运行

linux - 使用 bc 处理多个数据源

bash - 在 bash 中获取具有变量名的数组的键