排序命令未按预期工作

排序命令未按预期工作

我有一个这样的数据集

[email protected],2009-11-27

[email protected],2009-11-27

[email protected],2009-11-27

当我运行命令删除 column2 的所有相同条目时

sort -t ',' -k2 stars.txt -u

它正在删除column1 的条目。

为了删除column2的重复条目,我必须输入-k3flag

sort -t ',' -k3 stars.txt -u

谁能向我解释为什么会发生这种情况?为什么我必须在文件中的列中输入+1才能删除该列?

答案1

刚刚做了这个测试

$ cat tfile
[email protected],2009-11-26
[email protected],2009-11-27
[email protected],2009-11-28
[email protected],2009-11-29
[email protected],2009-11-27

对 k2 进行排序 有效!

$ sort -t ',' -k2 tfile 
[email protected],2009-11-26
[email protected],2009-11-27
[email protected],2009-11-27
[email protected],2009-11-28
[email protected],2009-11-29

以独特的作品对 k2 进行排序!

$ sort -t ',' -k2 tfile -u
[email protected],2009-11-26
[email protected],2009-11-27
[email protected],2009-11-28
[email protected],2009-11-29

某种流氓密钥 - 只打印第一行

$ sort -t ',' -k3 tfile -u
[email protected],2009-11-26
$ 

如果你没有得到这些结果,那么这些线上一定还有其他的东西。

相关内容