linux sort命令结果让我困惑

时间:2013-11-28 08:22:13

标签: linux shell unix

我尝试execrise'sort',但结果让人感到困惑。 我创建了两个文件 一个名为a2.txt,内容为

aa
a
a1

然后输入

sort -k 1 a2.txt

结果是

a
a1
aa
好的,一切正常, 然后,我创建了另一个名为a.txt的文件,内容为

a1 b1b c1c d1d
aa bb cc dd
ds dsa SD DSA
a b c d

和我代码

sort -k 1 a.txt

结果是

a1 b1b c1c d1d
aa bb cc dd
a b c d
ds dsa SD DSA

我的问题是,为什么b c d是第3个?我认为它应该像a2.txt的结果一样。 请给出一些解释,感谢您的帮助和建议,

1 个答案:

答案 0 :(得分:2)

引自man sort

   -k, --key=POS1[,POS2]
          start  a  key at POS1 (origin 1), end it at POS2 (default end of
          line).  See POS syntax below

(您没有指定POS2,因此键默认为行尾。)

如果你说:

,你会得到预期的结果
$ sort -k1,1 a.txt
a b c d
a1 b1b c1c d1d
aa bb cc dd
ds dsa SD DSA