从文件中删除重复的行块

时间:2013-12-16 03:33:48

标签: bash shell

我有一个像这样的文件结构

>ID1
data about ID1....
................
................

>ID2
data about ID2....
................
................
................
................
>ID3
data about ID3....
................
................
...............

>ID1
data about ID1....
................
>ID5
data about ID5....
................
................

我想删除这些重复的ID块。例如,在上述情况下,它是ID1。应该注意的是,只有ID部分相同,之后的数据可能不同。但是,我想保留第一个并删除所有其他的。我怎样才能以shell脚本的方式做到这一点?

1 个答案:

答案 0 :(得分:5)

在awk中

awk '/^>/{p=!($0 in a);a[$0]}p' file1