我有一个像这样的数据集
tack2@domain.com,2009-11-27
overflow@domain2.com,2009-11-27
overflow@domain2.com,2009-11-27
当我运行命令删除column2的所有相同条目时
sort -t ',' -k2 stars.txt -u
它正在删除column1的条目,为了删除column2的重复条目,我必须输入-k3
标志
sort -t ',' -k3 stars.txt -u
任何人都可以向我解释为什么会这样吗?为什么我必须在文件中的列中输入+1以删除列?
答案 0 :(得分:2)
在我的系统中,一切正常:
$ sort -t, -k1 -u 1.txt
overflow@domain2.com,2009-11-27
tack2@domain.com,2009-11-27
$ sort -t, -k2 -u 1.txt
tack2@domain.com,2009-11-27
可能是由于您的语言环境。 你可以请用LANG = C来补充命令吗?
$ LANG=C sort -t, -k1 -u 1.txt
$ LANG=C sort -t, -k2 -u 1.txt
答案 1 :(得分:1)
这是典型的awk工作,不需要排序。我在这里添加一条短线,以防你想试一试。
awk -F, '!a[$2]++' file
将完成这项工作。