2

我找到了很多方法来做到这一点,AWK, SED, UNIQ,但它们都没有在我的文件上工作。

我想删除重复的行。这是我的文件的一部分的示例:

KTBX
KFSO
KCLK
KTBX
KFSO
KCLK
PAJZ
PAJZ

注意:当我从文件中剪切和粘贴时,我必须手动添加换行符......由于某种原因,它将所有变量放在一行上。让我觉得我的 44,000 行文本文件实际上只有“1”行?有没有办法修改它,以便我可以删除 dups?

4

2 回答 2

4

您可以使用以下命令查看所有未打印的字符:

od -c oldfile

如果您的所有记录都在一行上,您可以使用sed 将空格(空格、制表符、换行符)替换为换行符:

sed -e 's/\s\+/\n/g' oldfile > oldfile.1

一旦你有多行,这个 awk 单行:

awk '!x[$0]++' oldfile.1 > newfile

我的文件:

KTBX
KFSO
KCLK
PAJZ
于 2013-09-27T14:29:54.730 回答
1

Perl 单行:

perl -nle '除非($hash{$_}++){打印 $_}' 文件

于 2013-09-27T06:22:34.493 回答