Linux:删除重复的行

时间:2017-05-02 09:57:13

标签: linux sorting awk aix uniq

我有一个文件txt。我想删除所有重复的行。

我尝试了这些,但没有用

sort -ur file.txt

uniq -D -f 2 file.txt

file.txt的

34.78.54.21 websrv1 nameweb
34.78.54.21 nameweb

我只需要一行

1 个答案:

答案 0 :(得分:1)

根据您的输入,我假设您将第一个字段(34.78.54.21)称为重复字段。如果您只想保留每个号码的第一个匹配项,那么这适用于您:

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

输出:

34.78.54.21 websrv1 nameweb

此命令查看$ 1是否不是数组中的键。如果不是那么它将被添加到数组中并且将发生默认打印。对于下一行,$ 1在数组中,整个事情将评估为false而不打印。