Sed 如何解释:标签;N在下面提到的行中
Sed 如何解释:标签;N在下面提到的行中,sed,Sed,的解释是什么:标签;在下面提到的命令中,N和b标签 sed -i ':label;N;s/\+.*\n.*\n//;b label' paired.fa piared.fa看起来像这样 @HWI-ST963:188:C29Y5ACXX:4:1107:1493:57038/1:@HWI-ST963:188:C29Y5ACXX:4:2307:16619:181383/2 GAGCCCCGCTTCATCGCCGTGGGCTACGTGGACGACACGCAGTTCGTGCGGTTCGACAGCGACG
的解释是什么:标签;在下面提到的命令中,N
和b标签
sed -i ':label;N;s/\+.*\n.*\n//;b label' paired.fa
piared.fa
看起来像这样
@HWI-ST963:188:C29Y5ACXX:4:1107:1493:57038/1:@HWI-ST963:188:C29Y5ACXX:4:2307:16619:181383/2
GAGCCCCGCTTCATCGCCGTGGGCTACGTGGACGACACGCAGTTCGTGCGGTTCGACAGCGACGCCGCGAGCCAGAAGATGGAGCCGCGGGCGCCGTGGAT:TCCATGAGGTATTTCTTCACATCCGTGTCCCGGCCCGGCCGCGGGGAGCCCCGCTTCATCGCCGTGGGCTACGTGGACGACACGCAGTTCGTGCGGTTCGA
+:+
@CCFFFFFHHHGHIIFIIJGHGGGHIIJFGGGG0AH>GEHFFFEED=?@BD?B?BABDDDDDDBBDBBDBDDDCBBDCDCCCCDDDDDDBBBBDBB5<B@C:@@CFFFFFHFHHHJJJJJIJJIIJJJJJIJJJJJJJGGIJEHEFDDBDDD@BBDBDDDEEDDDDBDDDDCDDDDDDDDDBD>BBDDDDDDDBDDDD5<BD@
@HWI-ST963:188:C29Y5ACXX:4:2307:16619:181383/1:@HWI-ST963:188:C29Y5ACXX:4:2307:7539:10902/2
CCCTCCTGCTCTATCCACGGCGCCCGCGGCTCCATCTTCTGGCTCGCGGCGTCGCTGTCGAACCGCACGAACTGCGTGTCGTCCACGTAGCCCACGGCGAT:GAGCCCCGCTTCATCGCCGTGGGCTACGTGGACGACACGCAGTTCGTGCGGTTCGACAGCGACGCCGCGAGCCAGAAGATGGAGCCGCGGGCGCCGTGGAT
+:+
CCCFFFFFHHHHHJJIJIJJJJJJJJJJIJJJHGHHHHFFFFFCE?BBB<<07<@BB@C@A@ADBD;BDBDDACD95<9BDBBD@DDBCBBDDBDBBB@@9:CCCFFFFFHHHGHJJJJJJIJJJJJJJJJJJIJJJJIJHHFFFEEDCDDDB?BDDDDDDDDDDDBDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDD<BD?@
@HWI-ST963:188:C29Y5ACXX:4:2307:7539:10902/1:@HWI-ST963:188:C29Y5ACXX:4:1107:1493:57038/2
GCCTTCATATTCCGTGTCTCCTGGTCCCAATACTCCGGCCCCTCCTGCTCTATCCACGGCGCCCGCGGCTCCATCTTCTGGCTCGCGGCGTCGCTGTCGAA:GCCTTCATATTCCGTGTCTCCTGGTCCCAATACTCCGGCCCCTCCTGCTCTATCCACGGCGCCCGCGGCTCCATCTTCTGGCTCGCGGCGTCGCTGTCGAA
+:+
CCCFFFFFHHHHHIHHHIJJJIJJIJJJJIJJJJJJJIJJJJJJIIJIJJJIGIHIJJJGFDDBDDDDDDDDDDDDDEDDDDDD9@>B@@9@BB9><A8<@:@CCFFFFFHHGHHIGHGHIIGIJJDHHIJIHHIIIHIGGGHJGIJCEHEHHHJEHJIIJHFDDDDDD@DDDDDCDDCDDCDDDD799>B95<9<>.5:(8@
@HWI-ST963:188:C29Y5ACXX:4:1107:1493:57038/1:@HWI-ST963:188:C29Y5ACXX:4:2307:16619:181383/2
GAGCCCGCTTCATCGCCGTGGGCTACGTGGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCAGCAGAGAGAGGAGCGCGCGGGCGCGCGGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGCGC
+:+
@CCFFFFFHHHGHIIFIIJGHGGGHIIJFGGGG0AH>GEHFFFED=?@BD?B?Babdddddddddbbdbbdddcbbdcdcccddddddbbbbbbb5bdddddddddddddd5
:label
是一个标签,表示代码中的位置标记
N
表示读入下一行并将其添加到当前图案空间的末尾,前面加一个换行符
在执行N
之前,sed的模式空间保存它所保存的任何内容。执行N
后,它保存(a)之前的内容,(b)换行符,以及(c)从文件中读取的下一行
b label
表示分支到名为label
的位置
此代码的最终效果是查找包含加号的行,+
,并删除从该加号到带加号的行后下一行末尾的所有内容。我仍然不太清楚。什么是需要使用的标签。不能使用sed-i's/\+.*\n.*\n//g'paired.fa执行上述操作thing@DHWANIDHOLAKIA通常,sed一次只读取一行。N
和循环需要读入多行,以便它可以进行您想要的替换。请您以更简单的方式解释上面命令中的N,我怀疑这是错误代码。我认为这是为了删除包含+
的行和下面的行。但是,这并不考虑文件结束边缘的情况。另一种解决方案是sed-i'/+/{N;d}文件
或者如果边缘大小写不是错误sed-i'/+/{N;$!d}文件