如何删除文本文件中的重复单词

时间:2012-11-24 15:36:56

标签: awk grep duplicates

我有文本文件:

abandonovať
abandonovať, neabandonovať
abandonovať, abandonujem
abandonovať, abandonuješ
abandonovať, abandonuje
abandonovať, abandonuje
abandonovať, abandonuje
abandonovať, neabandonujem
abandonovať, neabandonuješ

我希望删除每个重复的单词。它看起来像这样:

abandonovať
neabandonovať
abandonujem
abandonuješ
abandonuje
neabandonujem
neabandonuješ

有人知道如何在GREP,AWK中制作它吗?

3 个答案:

答案 0 :(得分:4)

您可以尝试使用:

grep -o '\w*' a.txt | sort | uniq

其中a.txt是您的文件。

答案 1 :(得分:3)

这是使用GNU awk的一种方式:

awk -F "[, ]" '{ for(i=1;i<=NF;i++) if (!a[$i]++ && $i != "") print $i }' file

结果:

abandonovať
neabandonovať
abandonujem
abandonuješ
abandonuje
neabandonujem
neabandonuješ

答案 2 :(得分:0)

谢谢大家,在GREP中它可以工作,但它按字母顺序排序。在AWK中它也有效,但我还有一个小问题。我的文本文件是:

abandonovať
abandonovať, neabandonovať
abandonovať, abandonujem
.
.
.

如果我在awk中输入您的代码,我的结果是:

abandonovať
abandonovať,
neabandonovať
abandonujem
.
.
.

有一个词是两次。一次使用“,”,一次不使用“,”。