如何使用Linux对文件中的数据进行排序

'sort'命令提供了许多方式来安排结构化数据

使用种类命令重新订购数据分隔文件以及其他命令的输出。

默认情况下,此实用程序通常安装主要的Linux发行版

Linux排序命令

样本数据

文件中的数据只要以某种方式分隔。

例如,从苏格兰总理联赛中获取最后的联赛表一年,并将数据存储在一个名为的文件中SPL.。创建数据文件,如下俱乐部和每个行上逗号分隔的俱乐部的数据。

团队 目标得分 反对目标
凯尔特人 93. 31. 86.
阿伯丁 62. 48. 71.
心中 59. 40 65.
圣约翰斯通 58. 55. 56.
47. 63. 50.
罗斯县 55. 61. 48.
因弗内斯 54. 48. 52.
邓迪 53. 57. 48.
partick. 41. 50. 46.
汉密尔顿 42. 63. 43.
基尔马诺克 41. 64. 36.
邓迪联队 45. 70 28.

如何在文件中排序数据

从那张桌子来看,你可以看到凯尔特人赢得联盟,邓迪联合了最后。如果您是邓迪联合扇,您可能希望让自己感觉更好,并且您可以通过对进球进行评分进行排序来实现这一目标。

运行以下命令:

排序-k2 -t,spl

这次订单如下:

  • partick.
  • 基尔马诺克
  • 汉密尔顿
  • 邓迪联队
  • 邓迪
  • 因弗内斯
  • 罗斯县
  • 圣约翰斯通
  • 心中
  • 阿伯丁
  • 凯尔特人

结果在此顺序的原因是第2列是得分列的目标,而且排序从最低到最高。

k交换机允许您选择要排序的列,以及-T.交换机允许您选择分隔符。

要使自己快乐,邓迪联合粉丝可以使用以下命令按列4排序:

排序-k4 -t,spl

现在邓迪团结在顶部,凯尔特人在底部。

这将使凯尔特人和邓迪粉丝不满意。要将事项放置正确,请使用以下切换按顺序排序:

排序-k4 -t,-r spl

交换机让您随机排序,响起了数据行。

您可以使用以下命令执行此操作:

排序-k4 -t,-r spl

案例问题!如果混淆了,你会改变排序的顺序-R.-R.开关。

种类命令还可以将日期分类为月份顺序。要演示,请查看下表:

使用的数据
一月 4G
二月 300万
行进 600万
四月 100米
可能 5000m.
六月 200k
七月 4000K.
八月 2500K.
九月 300万
十月 1000K.
十一月 3G
十二月 2G

上表代表了一年中的月份和移动设备上使用的数据量。

使用以下命令按字母顺序排序日期:

sort -k1 -t,datausedlist

按照以下命令按月排序:

SORT -K1 -T,-M datausedList

查看第二列,您可以看到所有值都以人类可读的格式,它们看起来并不像易于排序,但是种类命令罐对数据使用的列进行排序使用以下命令:

sort -k2 -t,-h datusususslist

如何对来自其他命令传递的数据进行排序

种类命令重新调整其他命令的输出。例如,看ls命令

ls -lt.

上面的命令用列中显示的下列字段返回每个文件作为一行数据:

  • 权限
  • 节点计数
  • 用户名
  • 组的名字
  • 尺寸
  • 上次访问日期
  • 文件名

运行以下命令按文件大小对列表进行排序:

ls -lt |排序-k5.

要以相反的顺序获取结果,请使用以下命令:

ls -lt |sort -k5 -r.

种类命令与PS命令一起工作,该命令列出了系统上运行的进程。

例如,运行以下内容PS.系统上的命令:

PS -EC.

上面的命令返回有关当前在系统上运行的进程的大量信息。其中一个列是大小,您可能希望查看哪些进程是最大的。

要按大小对此数据进行排序,请使用以下命令:

PS -EF |排序-k5.
此页面是否有帮助?