我有两个这种格式的大文件(fastq): 文件1:
@f.1 A:B:C:D:E:F:1 length=20
NTCCANAAAAGCAGTGGTAT
+f.1 A:B:C:D:E:F:1 length=20
#AAAA#FF<FFFFFFFAF<F
@f.1 A:B:C:D:E:F:2 length=20
NACAANCACCCAGGGGAGAG
+f.1 A:B:C:D:E:F:2 length=20
#7AAA#FFFFFAFFFF<<FF
文件2:
@f.2 A:B:C:D:E:F:1 length=60
NCGTTGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+f.2 A:B:C:D:E:F:1 length=60
#.A..F######################################################
@f.2 A:B:C:D:E:F:2 length=60
NGCCTGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+f.2 A:B:C:D:E:F:2 length=60
#<AAA<######################################################
我想将文件1中的每个偶数行号(行2,4,6,...)与文件2中每个对应的偶数行号粘贴在一起。 奇数行可以保留为文件2的数字(I&#39; ll随后更改长度值以反映更新的长度,在此示例的情况下为80.)
所以我的结果文件是:
@f.1 A:B:C:D:E:F:1 length=80
NTCCANAAAAGCAGTGGTATNCGTTGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+f.1 A:B:C:D:E:F:1 length=80
#AAAA#FF<FFFFFFFAF<F#.A..F######################################################
@f.1 A:B:C:D:E:F:2 length=80
NACAANCACCCAGGGGAGAGNGCCTGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+f.1 A:B:C:D:E:F:2 length=80
#7AAA#FFFFFAFFFF<<FF#<AAA<######################################################
答案 0 :(得分:1)
嗯,paste
是一个很好的方法。只需粘贴所有行,然后纠正奇数行。根据您的示例,我在此处进行的更正是一个简单的sed
。 YMMV如果您的示例中没有显示其他变量:
$ paste -d '\0' file1 file2 | sed 's/ length=20.*$/ length=80/g'
@f.1 A:B:C:D:E:F:1 length=80
NTCCANAAAAGCAGTGGTATNCGTTGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+f.1 A:B:C:D:E:F:1 length=80
#AAAA#FF<FFFFFFFAF<F#.A..F######################################################
@f.1 A:B:C:D:E:F:2 length=80
NACAANCACCCAGGGGAGAGNGCCTGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+f.1 A:B:C:D:E:F:2 length=80
#7AAA#FFFFFAFFFF<<FF#<AAA<######################################################