linux排序结果把我弄糊涂了
我尝试执行“排序”,但结果令人困惑。 我创建了两个文件 一个名为linux排序结果把我弄糊涂了,linux,shell,unix,Linux,Shell,Unix,我尝试执行“排序”,但结果令人困惑。 我创建了两个文件 一个名为a2.txt,内容为 aa a a1 a1 b1b c1c d1d aa bb cc dd ds dsa SD DSA a b c d 我打字 sort -k 1 a2.txt 结果是 a a1 aa a1 b1b c1c d1d aa bb cc dd a b c d ds dsa SD DSA 好,一切正常,, 然后,我创建了另一个名为a.txt的文件,内容是 aa a a1 a1 b1b c1c d1d aa bb
a2.txt
,内容为
aa
a
a1
a1 b1b c1c d1d
aa bb cc dd
ds dsa SD DSA
a b c d
我打字
sort -k 1 a2.txt
结果是
a
a1
aa
a1 b1b c1c d1d
aa bb cc dd
a b c d
ds dsa SD DSA
好,一切正常,,
然后,我创建了另一个名为a.txt
的文件,内容是
aa
a
a1
a1 b1b c1c d1d
aa bb cc dd
ds dsa SD DSA
a b c d
而我的代码
sort -k 1 a.txt
结果是
a
a1
aa
a1 b1b c1c d1d
aa bb cc dd
a b c d
ds dsa SD DSA
我的问题是,为什么a b c d是第三个?我认为它应该是a2.txt
的第1个结果。
请对此作一些解释,无论如何感谢您的帮助和建议,引用《人类排序》:
-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
这意味着,将abcd、a1b1bc1cd1d、aabbccdd、DSASDDSA与“sort-K1A.txt”进行比较?@user2245634您的问题我不太清楚。只是猜测您需要对上面的
-k
进行解释:说-k1,1
告诉排序
基本上只对第一个字段进行排序。