按内容bash和输出变量名对变量进行排序

时间:2018-06-08 10:44:17

标签: bash sorting variables

我在bash脚本中有一些变量

variable1=0.111
variable2=-222
variable3=0
variable4=0

......等等。

我知道我可以使用sort对变量内容进行排序,但我想知道哪个是后面的内容。 例如echo $variable1 $variable2 $variable3 $variable4 | xargs -n1 | sort -g会做三重奏,但它不会告诉我哪个是哪个。我需要输出如:variable2, variable3, variable4 , variable1。可能吗?亲切的问候

1 个答案:

答案 0 :(得分:1)

您可以使用sort执行此操作。只需确保你的回音​​在单独的一行(great answer on sorting by column here)上有这些值,试试这个:

echo "variable1 $variable1
variable2 $variable2
variable3 $variable3
variable4 $variable4" | sort -t" " -nk2

从以上链接的answer

  

-t, - 定义分隔符

     

-n - 为您提供数字排序

     

-k2 - 定义字段(键)