删除第一列中具有重复条目的行

时间:2014-03-11 16:44:00

标签: shell csv awk filter duplicates

我想通过删除每行第一列中的重复条目来过滤我的文件(制表符分隔)。

我试过了:

cut -f1 filename.txt | sort | uniq -u > filename_filtered.txt

但是这只打印出文件的第一列,无论如何都要过滤第一列但打印出整个过滤后的文件?

1 个答案:

答案 0 :(得分:2)

这应该成功:

awk '!a[$1]++' file

它会跟踪字段,只要第一个字段尚未出现就打印一行。

测试

$ cat a
test    hello   bye
test    bye     hello
another thing   here
how     how     how
another blab    bla
text    text    text

$ awk '!a[$1]++' a
test    hello   bye
another thing   here
how     how     how
text    text    text