如何在Bash中订购数组后打印出单个数字?

时间:2016-06-24 14:32:03

标签: bash

我是bash的新手,在排序数组后打印出单个数字会遇到一些问题。 我有以下......

 for x  in ${array[@]}
               do
                  echo $x
               done| sort

这是我能够以顺序打印整个数组的唯一方法。 现在我正在尝试在订购之后打印出单个项目 所以我试过......

for x  in ${array[@]}
                   do
                      echo ${array[2]}
                      exit
                   done| sort

但它会打印无序数组数组中的第三项。 有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

您正在打印变量,然后尝试对已打印的ONLY变量进行排序(在您的情况下为${array[2]}

试试这个:

sorted=($(printf '%s\n' "${array[@]}"|sort))
echo ${sorted[2]}

这会对数组进行排序并将其存储在另一个数组sorted