我的文件有许多重复的格式
enemy.c
我需要减少到
a
a
b
b
c
c
所以我写了一个sed命令:a
b
c
,但文件仍然显示重复。但是我确信这个正则表达式有效,因为我测试了它here。
那么我做错了什么?
我怀疑它可能与sed -r 's/^(.*)$\n^(.*)$/\1/mg' filename
选项有关,因为我不确定它是做什么的(但没有它我得到-r
s'命令的RHS`错误。)
答案 0 :(得分:2)
两种更简单的方法中的任何一种都适合你。
一个简单的awk
命令,首次通过维护已打印的行数组来打印行:
awk '!seen[$0]++' file
a
b
c
由于文件已经排序,您还可以使用uniq
:
uniq file
a
b
c
编辑:较新的gnu-awk版本支持就地编辑,也使用:
awk -i 'inplace' '!seen[$0]++' file