我找到了很多方法来做到这一点,AWK
, SED
, UNIQ
,但它们都没有在我的文件上工作。
我想删除重复的行。这是我的文件的一部分的示例:
KTBX
KFSO
KCLK
KTBX
KFSO
KCLK
PAJZ
PAJZ
注意:当我从文件中剪切和粘贴时,我必须手动添加换行符......由于某种原因,它将所有变量放在一行上。让我觉得我的 44,000 行文本文件实际上只有“1”行?有没有办法修改它,以便我可以删除 dups?
我找到了很多方法来做到这一点,AWK
, SED
, UNIQ
,但它们都没有在我的文件上工作。
我想删除重复的行。这是我的文件的一部分的示例:
KTBX
KFSO
KCLK
KTBX
KFSO
KCLK
PAJZ
PAJZ
注意:当我从文件中剪切和粘贴时,我必须手动添加换行符......由于某种原因,它将所有变量放在一行上。让我觉得我的 44,000 行文本文件实际上只有“1”行?有没有办法修改它,以便我可以删除 dups?
您可以使用以下命令查看所有未打印的字符:
od -c oldfile
如果您的所有记录都在一行上,您可以使用sed 将空格(空格、制表符、换行符)替换为换行符:
sed -e 's/\s\+/\n/g' oldfile > oldfile.1
一旦你有多行,这个 awk 单行:
awk '!x[$0]++' oldfile.1 > newfile
我的文件:
KTBX
KFSO
KCLK
PAJZ
Perl 单行:
perl -nle '除非($hash{$_}++){打印 $_}' 文件