是什么解释:标签; N在下面提到的行

时间:2015-11-06 06:39:27

标签: sed

下面提到的命令中对:label;Nb label的解释是什么

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@

1 个答案:

答案 0 :(得分:1)

  1. :label是一个标签,表示代码中的地点标记。

  2. N表示读取下一行并将其添加(以换行符开头)到当前模式空间的末尾。

    在执行N之前,sed的模式空间保存它所拥有的任何内容。执行N后,它保存(a)之前的内容,(b)换行符,以及(c)从文件中读取的下一行。

  3. b label表示分支到名为label的位置。

  4. 此代码的净效果是查找包含加号+的行,并删除带有加号的所有内容到带有加号的下一行的末尾。