我有一个包含20000个探针的列表,有没有办法使用sed / awk提取每个探针的前三行/出现次数?

Example of dataset:
    Probe1 A  GTTAGAGGAGGTGGAAGAGC
    Probe1 B  CTGAGGTCGGGACGGAGCAC
    Probe1 C  GATGTAGGCGGTTGGCGTGG
    Probe1 D  GTTGGCGAAGTCACATCTAG
    Probe1 E  CATGTCGCCGACTCCGTCGA
    Probe1 F  GTGATGTTCTGAGTACATAG

    Probe3 A  GATTGTAGGTTTCCTGCCAG
    Probe3 L  ACCCAGCCAGGGGAAAACCA
    Probe3 Z  GGAGATGTAGGCGGTTGGCG
    Probe3 Y  GGAGATGTAGGCCTTAAAAA
    Probe3 D  GATTGTAGGGGTCCTGCCAG

所需的输出:
Probe1 A  GTTAGAGGAGGTGGAAGAGC
Probe1 B  CTGAGGTCGGGACGGAGCAC
Probe1 C  GATGTAGGCGGTTGGCGTGG
Probe3 A  GATTGTAGGTTTCCTGCCAG
Probe3 L  ACCCAGCCAGGGGAAAACCA
Probe3 Z  GGAGATGTAGGCGGTTGGCG

最佳答案

awk进行救援!

$ awk '++a[$1]<4' file

删除空行
$ awk '++a[$1]<4 && NF' file

关于awk - 使用Sed/Awk提取该行的前三个唯一实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40835284/

10-08 22:43