刚开始编写脚本。
我试图在匹配第一行中的正则表达式后编写4行,并通过一个包含数千行的非常大的文件来执行此操作。
#!/usr/local/bin/python
import sys
import string
import re
print"what file would you like to search?"
filename = sys.stdin.readline()
filename = filename.rstrip()
print "enter a barcode"
barcode=sys.stdin.readline()
barcode=barcode.rstrip()
regex=":0:"+barcode
infile = open(filename, "r")
outfile = open("sample_write.fastq", "w")
regex_object = re.compile(regex, re.I)
for line in infile:
m=regex_object.search(line)
if m:
outfile.write(line)
exit
这会将匹配字符串(条形码)的行写入我的outfile,但是,我需要在匹配到目标文件后写入带条形码的行和以下3行。 有什么想法吗?
答案 0 :(得分:0)
您可以使用以下内容匹配
.*(BARCODE).*\n.*\n.*\n.* //replace BARCODE with your variable
并将匹配项(\0
)写入目标文件
请参阅DEMO
修改:使用regex =".*("+barcode+").*\n.*\n.*\n.*"