sort在bash中只返回一行

时间:2014-03-26 09:48:49

标签: bash sorting pipe

我有一个看起来像这样的变量:

param="David Salad 100\nMark Fruit 440\nNoam Chicken 440"

我需要根据数字对其进行排序,然后根据字母顺序排序,因此输出应为:

Mark Fruit 440 Noam Chicken 440 大卫沙拉100

我试着写下以下一行:

temp=`echo -e $param | sort -srnk3`
echo -e $D

但输出的是#34; Mark Fruit 440 Noam Chicken 440 David Salad 100" 即使我认为应该排序也不会打印出任何类型。

1 个答案:

答案 0 :(得分:3)

排序工作

$ param="David Salad 100\nMark Fruit 440\nNoam Chicken 440"
$ echo -e $param | sort -srnk3
Mark Fruit 440
Noam Chicken 440
David Salad 100

您只需引用变量("$temp")即可查看换行符

$ temp=`echo -e $param | sort -srnk3`
$ echo "$temp"
Mark Fruit 440
Noam Chicken 440
David Salad 100