如何在文本中对此输出进行排序?

时间:2018-01-17 07:04:42

标签: linux bash

我使用下面的命令来获取一些数据。现在我希望它在“,”之后根据字段进行排序。

[im@vas_db1 processed]$ cat tps_info.edr.2018-01-15* | grep IM_SYS_TPS | cut -d ","  -f 1,4 | head
2018-01-15 00:00:00,32
2018-01-15 00:00:01,32
2018-01-15 00:00:02,27
2018-01-15 00:00:03,41
2018-01-15 00:00:04,41
2018-01-15 00:00:05,24
2018-01-15 00:00:06,29
2018-01-15 00:00:07,55
2018-01-15 00:00:08,35
2018-01-15 00:00:09,21

2 个答案:

答案 0 :(得分:3)

您只需使用sort

即可
sort -t"," -k2 your_file

或者在你的情况下,管道:

[ .. ] | sort -t"," -k2
  • -t使用指定的字符作为字段分隔符

  • -k定义了一个具有起始位置

  • 的受限排序键

有关其他信息,请参阅man sort

答案 1 :(得分:2)

cat-grep-cut-head序列可以替换为awk

awk -v FS="," '/IM_SYS_TPS/{if(count++==10)quit;print $1,$4}' 
tps_info.edr.2018-01-15* | sort -t"," -k2

所有好: - )