我怎样才能sorting第一列文本,然后第二个数字与'sorting'?

我正在尝试对以下文件进行sorting

a 2 b 1 a 10 

我需要得到:

 a 2 a 10 b 1 

我知道-kPOS [opts]选项,并尝试使用它:

 sort -k1 -k2n file 

但这个命令只给我:

 a 10 a 2 b 1 

所以按第一栏sorting,但不按第二栏sorting。 运行sort -k2n file按第二列sorting。

 b 1 a 2 a 10 

我怎么能把它分成两列?

编辑:

sorting(GNU coreutils)5.93

您必须终止主键,否则,排序使用从给定的字段开始的所有字段:

 sort -k1,1 -k2n 

这几乎是正确的。 尝试这个:

 sort -k1,1 -k2,2n 

如果你有GNU sort排序然后你可以做一个版本排序:

 $ sort -V file a 2 a 10 b 1 

选项:

 -V, --version-sort natural sort of (version) numbers within text 

版本排序的好处是无论列如何都可以工作:

 $ cat file a2 b1 a10 $ sort -V file a2 a10 b1