按数字排序排序

时间:2011-10-07 08:40:06

标签: unix sorting

我有一个日志文件,其中包含以下表单中的条目,我想在ID号字段上以数字方式排序。

2011-10-06 08:13:48 ID_39 message1
2011-10-06 09:13:5s ID_239 message2

我尝试使用sort命令完成此操作,但我似乎没有正确使用键。使用sort -b -k 3排序只是按字母顺序排序,-n(数字排序)似乎没有帮助。

我该怎么做?

ID_394
ID_65
ID_9
ID_99

对此?

ID_9
ID_65
ID_99
ID_394

2 个答案:

答案 0 :(得分:2)

sort -t _ -k 2 -n,表示:_分隔字段,按第二字段数字排序。

答案 1 :(得分:1)

发现sort -b -k 3.4 -n也做了伎俩。 -b用于忽略前导空格,-k 3.4用于排序第三个字段,从第四个字母排序,-n用于数字排序。