在shell中使用sort
函数时,如果仅通过一个字段进行排序,-k
选项的首选语法似乎是-k5n,5
。在这种情况下,5
的优势是什么? -k5n
的作用相同,或者至少对我而言。
参考文献:
答案 0 :(得分:2)
假设您的数据包含N
个字段。 -k5n
相当于-k5,Nn
,这意味着数据将使用字段5到N
作为关键字进行排序。这可能是不可取的,例如,如果您想要一个稳定的排序,它不会修改输入中记录的相对顺序,并且第5个字段的值相等。使用-k5,5n
可以明确表示您只想对第5个字段进行排序。
答案 1 :(得分:0)
第二个键指定停止位置,默认为行尾。
所以你可以省略它,并且通常没有实际的区别,但是,例如,如果你使用-u
选项只输出具有唯一键匹配的行,那么它可能很重要。
此外,您可以使用多个-k
选项指定多个关键部分,因此在这种情况下,您需要指定关键部分的终点。
可能还有其他重要事件。