拆分一行并在第二行打印

2024-06-16 14:20:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的输入文件

 @HWI-ST1072:185:C325WACXX:1:1101:8553:1994:1:N:#CAGATT
 NGGGGCGATAGAGTAAGATTTTATTTTAAAAAAAAAAAAAAAAATTTAAAA
 +
 #0<FFBBFFFFFFFBFBFFIIIIIIIIIIIIIIIIIFFFFFB#########
 @HWI-ST1072:185:C325WACXX:1:1101:16084:1999:1:N:#CCAATT
 NGGAGTGGAGTGGTTGTGGTGGTTTGGGTTGTTGATTGTGTATTTGGAATA
 +
 #0<FFFFFFFFFFIFFFIIIIIIFFFFFFFBBFBFFIBFFIFIIIFBFFII
 @HWI-ST1072:185:C325WACXX:1:1101:16829:1993:1:N:#TGATGT
 NGGGTAGTAGTTTGGTGTATGTATTATTGTATATGGCGGTGAGAGTTAGGG

我想打印第二行第一行有序列

输出

^{pr2}$

Tags: 文件序列pr2ccaatthwic325wacxxnggagtggagtggttgtggtggtttgggttgttgattgtgtatttggaatacagatt
2条回答
awk -F'#' 'seq{$0=seq;seq=""} /@/{seq=$NF} 1' file
with open('path/to/input') as infile:
    for line in infile:
        if line.startswith("@"):
            line = line.strip()
            print(line)
            print(line.rsplit("#", 1)[1])
        elif any(line.startswith(e) for e in "#+"):
            print(line.strip())

相关问题 更多 >