sed - 如何删除文件中的重复行...AWK、SED、UNIQ 不适用于我的文件

标签 sed awk duplicates lines uniq

我找到了很多方法来做到这一点,AWKSEDUNIQ,但它们都不适用于我的文件。

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

KTBX
KFSO
KCLK
KTBX
KFSO
KCLK
PAJZ
PAJZ

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

最佳答案

您可以使用此命令查看所有非打印字符:

od -c oldfile

如果您的所有记录都在一行,您可以使用sed to replace带有换行符的空白(空格、制表符、换行符):

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

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

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

我的输出文件:

KTBX
KFSO
KCLK
PAJZ

关于sed - 如何删除文件中的重复行...AWK、SED、UNIQ 不适用于我的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19039036/

相关文章:

sed - 如何使用 sed 或 awk 替换文本?

linux - 如何将命令应用到第n列?

linux - 必须使用 linux 替换第一行第二列中的文本

replace - 如何删除配置单元字符串中的重复项?

vba - 将整个列(列中的每个值)放入数组中?

linux - sed:在某个位置插入一行

ubuntu - 尝试使用 sed 将温度从传感器命令转换为数字

regex - 使用 sed 替换目录中所有文件中的字符串

awk - 计算按行分组的列的累计总和和总计百分比

java - 在Java代码中,我创建的方法仅将第一个重复实例放入新数组中