如何在bash中对此进行排序

Con*_*ang 2 linux bash command-line

你好我有一个包含这些行的文件:

apple
12
orange
4
rice
16
Run Code Online (Sandbox Code Playgroud)

如何使用bash按数字排序?假设每个数字是上述对象的价格.

我希望他们的格式如下:

12 apple
4 orange
16 rice
Run Code Online (Sandbox Code Playgroud)

要么

apple 12
orange 4
rice 16  
Run Code Online (Sandbox Code Playgroud)

谢谢

Jua*_*doy 5

一个解决方案使用paste+ sort获得每个产品分类由它的价格:

$ paste - -  < file|sort -k 2nr
rice    16
apple   12
orange  4
Run Code Online (Sandbox Code Playgroud)

说明

来自paste 男人:

将由每个FILE顺序对应的行(由TAB分隔)组成的行写入标准输出. 如果没有FILE,或者FILE是 - ,则读取标准输入.

paste获取流从未来的stdin(你的 <file)和数字,每行所属虚构为代表的存档 -,所以我们得到2个使用列- -

sort使用该标志-k 2nr反向数字顺序获取第二列排序paste输出.