linux 中 awk命令实现将fasta文件的每行按照指定碱基数目输出

 

001、

(base) [b20223040323@admin1 test]$ ls
test.fa
(base) [b20223040323@admin1 test]$ cat test.fa      ### 一个测试文件
>jcf7180004256566_1
GATGCATATTACGTTCTACGTTTTACCAGACGAGCTACACCCCAAGA
>jcf7180004256577_1
TTTATTGGTAAATGTGTAGATCGAAAGTAGTTTAAAATAATGAACATTTAAGAGAATGAAT        ## awk命令
(base) [b20223040323@admin1 test]$ awk -F "" '{if($0 ~ /^>/) {printf("\n"); print $0} else {for (i = 1; i <= NF; i++) {printf("%s", $i); if(i % 10 == 0) {printf("\n")}}}}END {printf("\n")}' test.fa  | awk NF
>jcf7180004256566_1
GATGCATATT
ACGTTCTACG
TTTTACCAGA
CGAGCTACAC
CCCAAGA
>jcf7180004256577_1
TTTATTGGTA
AATGTGTAGA
TCGAAAGTAG
TTTAAAATAA
TGAACATTTA
AGAGAATGAA
T

 。

 

posted @ 2024-01-30 17:34  小鲨鱼2018  阅读(16)  评论(0编辑  收藏  举报