我有以下文件.txt
Plummet
Cherist the day
--
The Transatlatins <-----------duplicate
Mysteriosa <-----------duplicate
--
Angel City;Lara McAllen
Love me right
--
The Transatlatins
Mysteriosa
如何在不改变顺序的情况下删除重复项?和行的空格,我已经尝试过,sort
但我改变了顺序并且uniq
不带我重复的内容。
预期结果:
Plummet
Cherist the day
--
Angel City;Lara McAllen
Love me right
--
The Transatlatins
Mysteriosa
答案1
假设该文件的格式是
field1\n
field2\n
\n
field1\n
field2\n
\n
即示例文件中的最后一行应为
Mysteriosa Mysteriosa
那么这应该可以解决问题,前提是\n
最后一个条目后面有一个尾随换行符
sed '$!N;$!N;s/\n/:/g' file | nl -s"|" | sort -t '|' -k2 | awk -F"|" '!_[$2]++' | sort -n | sed -e 's/.*|//' -e 's/:/\n/g'
答案2
命令:
awk '{if (!seen[$1,$2]++)print $0}' filename