我有一个 fastq 文件,我必须删除某些行中除第一个字符之外的所有内容。这是一个例子:
@A202BNABXX:2:1:4523:2219/1
GGCCGAATTCACCGATAAAATACACAGACGGTAAATGTTCCCACTAGGTTCACCTATGAGTCCGCTATGCCCGCCGGCATTTCAATTTCT
+ERR706845.1.1 A202BNABXX:2:1:4523:2219 length=90
@A202BNABXX:2:1:4715:2246/1
CTGAGGACTGCATGACATGGACTGATGCACTCTATAATCATTTTAATGCAATTGTCACTATTCATGAAATTGTGTAACTTACTAAATAGT
+ERR706845.2.1 A202BNABXX:2:1:4715:2246 length=90
加号位于 fastq 文件中行的开头。对于以该符号开头的每一行+
,我需要删除其后的所有内容。然后我需要将输出重写到一个新文件中。任何建议将不胜感激。非常感谢!
答案1
使用sed
$ sed -E 's/^(\+).*/\1/' input_file > new_file
$ cat new_file
@A202BNABXX:2:1:4523:2219/1
GGCCGAATTCACCGATAAAATACACAGACGGTAAATGTTCCCACTAGGTTCACCTATGAGTCCGCTATGCCCGCCGGCATTTCAATTTCT
+
@A202BNABXX:2:1:4715:2246/1
CTGAGGACTGCATGACATGGACTGATGCACTCTATAATCATTTTAATGCAATTGTCACTATTCATGAAATTGTGTAACTTACTAAATAGT
+