在做非模式植物的MapMan需要自己构建mapping,奇怪的是自己的fa文件中存在空行无法构建才有了这个需求。

    QQ截图20210507101134.png

    方法1:

    1. sed '/>/{N; /[TCGN]/!d}' local-blast-sunup-CDS.fa
    2. #首先匹配有>的行,在执行{}里面的命令,N表示把匹配到这行的下一行也加入到模式空间;[TCGN]/!d表示匹配到
    3. #TCGN中任意一个字母都不删除这一行,反之都删除。

    方法2:

    sed '/>/{N; s/\n/\t/}' local-blast-sunup-CDS.fa |awk '$2 !~ /^\s*$/ {print $0}' |tr "\t" "\n"
    
    #首先匹配有>的行,在执行{}里面的命令。s/\n/\t/表示把两行之间的换行符换成制表符。
    #通过awk输出第二列不为空的整行。