按第二个字段排序

时间:2014-04-04 08:37:44

标签: bash sorting

好的,这是我在日志文件中的示例:

p1-OST001e oss031
p1-OST001f oss032
p1-OST0020 oss033
p1-OST0021 oss034 
p1-OST0022 oss035
p1-OST0023 oss036
p1-OST0024 oss037
p1-OST0025 oss038
p1-OST0026 oss039
p1-OST0027 oss040
p1-OST0028 oss031

我想对它进行排序,以便2个OST与oss匹配,即

p1-OST001e oss031
p1-OST0028 oss031
p1-OST001f oss032
etc

会在一起。

感觉我已经完成了男人的各种选择,但我仍然无法得到它 - 非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用:

$ sort -t' ' -nk2.4 file
p1-OST001e oss031
p1-OST0028 oss031
p1-OST001f oss032
p1-OST0020 oss033
p1-OST0021 oss034 
p1-OST0022 oss035
p1-OST0023 oss036
p1-OST0024 oss037
p1-OST0025 oss038
p1-OST0026 oss039
p1-OST0027 oss040
  • -t' '将空格设置为字段分隔符
  • -n设置数字排序
  • -k2.4将第2列设置为排序依据的索引。使用.4,我们指示从第4个字符排序。