无法创建sed替换以进行重复数据删除文件

时间:2015-05-29 14:08:04

标签: regex bash sed

我的文件有许多重复的格式

enemy.c

我需要减少到

a
a
b
b
c
c

所以我写了一个sed命令:a b c ,但文件仍然显示重复。但是我确信这个正则表达式有效,因为我测试了它here

那么我做错了什么?

我怀疑它可能与sed -r 's/^(.*)$\n^(.*)$/\1/mg' filename选项有关,因为我不确定它是做什么的(但没有它我得到-r s'命令的RHS`错误。)

1 个答案:

答案 0 :(得分:2)

两种更简单的方法中的任何一种都适合你。

一个简单的awk命令,首次通过维护已打印的行数组来打印行:

awk '!seen[$0]++' file
a
b
c

由于文件已经排序,您还可以使用uniq

uniq file
a
b
c

编辑:较新的gnu-awk版本支持就地编辑,也使用:

awk -i 'inplace' '!seen[$0]++' file