我是bash的新手,在排序数组后打印出单个数字会遇到一些问题。 我有以下......
for x in ${array[@]}
do
echo $x
done| sort
这是我能够以顺序打印整个数组的唯一方法。 现在我正在尝试在订购之后打印出单个项目 所以我试过......
for x in ${array[@]}
do
echo ${array[2]}
exit
done| sort
但它会打印无序数组数组中的第三项。 有什么帮助吗?
答案 0 :(得分:1)
您正在打印变量,然后尝试对已打印的ONLY变量进行排序(在您的情况下为${array[2]}
)
试试这个:
sorted=($(printf '%s\n' "${array[@]}"|sort))
echo ${sorted[2]}
这会对数组进行排序并将其存储在另一个数组sorted