【发布时间】:2017-08-25 19:20:48
【问题描述】:
该文件有数百万行,分为 2 行块,其中每个块中的第一行是标题,标有 > ,后跟两行字母字符。
在 linux 和/或 bash 中,如何将文件拆分成更小的文件,同时保留 2block 结构?理想情况下,根据输出文件的数量或每个较小文件的块数,对输出多少具有一定的灵活性?
简短的例子:
>k99_12
CCTTCTTCAATGCCAATACCCTCGAAGAATTGCACCGCCTCGAACAAACCACATGACACACCCACCGTCACTGGCTGACATTGCCGCACAACTTGAAGCCTATGACCCGCAGGCACTACCTGCCAATGAGGTCTTGAATTTTCTGGATCACTTGGTGACGCCAGTGCACGACTCAGAATCAGTCGACATCTTTGCAGCATTGGGCAGAGTCACTGCGCAA
>k99_27
ATCCAAGCCAGAGAATATGCCTACCCGCATCGCACCGCGATCTCGCAAATGTCGTGTAATCGCGCGGGTATCAACACCCTGAATGCCAATGATTCCTTGCTCAATCAATTCCGCCTCAAGATCATTTTGTGCGCGCCAATTTGATGTCAAAGAGGATGGGTTTCTAACAACAAACCCTGCCACCCAAATCTTTGATGACTCATTATCTAA
>k99_31
CCATTGCGCAAACGGACTGCCGGACACCAAGTGCACCTCGTGCGACAGACCATACTGGTCGTCATAAGAGAGTTCAGGGTTTTCGCGGTGGTCGGCCATGCCGTCCACATTGTGCACCTGCTGGTGCAGCGAACCGCCCATGGCCACATTGATTTCCTGGAAGCCACGGCAAATCCCCAGCAGGGGCACACCCTGCGCGACGCAGGCGCGTACCAAGGGCAAGGTCAGGCTGTCGCGGTGCGGATCCAGCGGCAGACGCGGA
>k99_35
AAAATTGAGTTTGAAGGAATTTCGCATTTCATCAAAAATCAACACGACGAGAGTGGTTCAACAACTATAAAACGTTGGGCAAAGGAATTTATGGACGAAATAAATTGTCCTGTTTGCGAAGGTTCACGATTAAAAAAAGAAGCTTTATTTTTCAAAATTAATGGAAAAAACATCACTGAATTATGCAATATGGATATTTCGGATGTCACGGCTTGGTTTTTGGAATTGAACACCCATTTATCAGATAAACAAAAGACTATAGCGACGGAGGTTATCAAGGAAATAAAAGATCGATTGGCCTTTTTAATGAATGTAGGTTTGGATTATTT
>k99_40
GAGGCCGGCGAAGGCGCGGTGATCGACGAGGAGGACGACGACGCTGGCGCGGGCGAGCGCGTCGGCGAGGGAAACGAGTTCCGCCCTGCCCTGCAGCGCTTTCGGCAAGGCGGTCACGTGCGGCTCGACGGCCAGGACCTTCAGGCCGGCGTCGGCGAGGTGCGCGGCGATCTCGACGGCGGGAGATTCACGGAGGTCGTCGACGTTCGCCTTGAAGGCGAGGCCGAGGCAGGCGACGGCGGCGCCAGAA
>k99_42
AGACCAAATCGCACGGCTAGCAGGATCAAAACGCAAGATGCGCGGGTCTCTTACTTCATCGCGCAGAGTAGGGCGCATCAGCGCGACTTTTTCGCGCACGTCATCGGCGCCTTTGCGGCCGTCTATGTTGAGGTCAAACTCAACCACCACCACCGACACGCCTTCATAACTGCGAGATGTGAGGGCATTGATACCGGCAATGGAATTGACTGCTTCTTCCACTTTTTTAGTCACCTCGCTCTCGACAATTTCAGGAGAGGCGCCTGGATATTCGGTGCTCACGACAACGACGGGCAAATCAATATTAGGAAACTGGTCGATCTTGAGGCGCTGATAAGAGAACAAGCCCAGCACCACAAAGGCAAGCATCACCATCGTTGCGAAGACGGGGTTTTTGAGGCTGACTTTGGTGA
>k99_75
AAAGGTAGCATTGAAGATTATACGCAGTTGTTTCAGGCAGCAGCACAAATTGCGAATGAATCGGCACATATGCAACTCGATATAGATGTCGAGGGATTCAACGAATTTGCTACGGCGGCGGACGACCTCAGTAAGTTATTCACTGGTTTCATTTTGAAGTTGGAGAATGTGAGTATCATCGACGATACTGTATTTTTGACTGCGGTGGCAAATGCTCTCTCGAAGATAAGCAATTTGTCGAAAGTGTTTGGTAAGTTCAAAGAAACTATATTGGGCACTTCGACAATTCGTTTGCCCAAATCCGCACATGATGCATCGGTTATACTGAAAGATGTGGTTGGGCAAATCAATTGTGCAATGACGTATATAAACCATTTTGTCGATTCGAGTGTTCCCGCACCAAGTGTTGCGGAATTATCGAAAGAAGAGAAGAATATAATCGACGCTGCGGTGACAACCATTCACAATTGGAATACATTGTGTGACCAAGGAGTTAGTATTGCCATGTCAAGCGACCCAGATATTCAATTTGTTAGTAATGCGAATCAATCGCT
>k99_76
TCGTAAGCTAACTAAATCAACTGAACAATCTATCACCAATAGTATGTAATCAGAAATCAACTTAAATCTCATATATTAATGAAAGTTTTATCAATTGTTGGAACAAGGCCGGAAATAATTAAGTTATCAAGAGTGTTTCATGAACTTGAAAAATATACTGAACACATTTTAGTACATACAGGTCAAAACTTTGATTATGAACTAAATGAAATATTTTTCAATGATCTTAAAATTAAGAAACCTGATTTTTTTTTAAATGTTGTTGGCGAATCTTTAGCTGATACTATTGCAAACATAATTTCCAAATCCGATAAAGTTCTAGAAAAAATAAAACCA
>k99_79
GATGTACTGGTACTCGTTGTAGGTCGTCGTCTTGCTACCTCTGCTGCTGTCGTTCGTGGCCTCGTTGCGGTGGTCGTAGTTGTTGTGGTCGCTCTCGCAGGCCCGCCGCTCAGAGCTTGGAACGAGTTCTTGGAGACGAAGTCTCCCAGCGTTGCGCCGCGAGGCGTCGGGCGAGGTCGAGCTGCGACCTTCGCCTGGACAAAGCCGTCCTGGACCAGAGAGATGTCCATCCGCTGCGGCGGCCCCTCTTCGACGCTCCTGACGGCGCCTGTCGTTGGCCTCTGCGGGCAGGCTCGGGAGGAGTGACCGGTCTTTTTGCAGATCCAGCACTTCCGGAGCTCCCGTGCGACCTCAGGCAGGGGGCACTTGATGGCGGCGTGCGACTCGCC
>k99_83
CCCGAACACAATCGCTTTAGTCGAGCGGGAAACGCGGTGGGATTATGCGGACCCAGCCTTTACGAACGGGATCGCGGAAGACTTCTCCATCGACCAGTCTACTCACTCGCTCTTCGGCGCCTCGAAGGTTGCCGCCGACGTTTTGGTGCAGGAATACGGCCGCTATTTTGGAATGCCTACTTGCGTGCTGCGCGGCGGCTGCCTCACCGGCCCGAATCACAGCGGCGTCCAG
>k99_90
GGCTGACGTACAAGATGCGCCGTCCGTGGTCACGCGGCACGCTGGGCGTGGTGTTCAACGCGTTGTATGCCGTCATGTTCCTGTTCACGATCACGGTGATCGCGTCGATTCTCCACTCGTTCGAGTTCAACGGGCTATCCATCTTCTTCTTCCTGTTCTTCCTGTCGCTCGTGACCTTCTTCGGCCTGAAGATTCGCAATACGCGCCGCGAGCTGATGGTGGTAGAGGCGCGCGTCGGCATCGTCGGCACGATCGCGGACATCCTGTTTCTCCCCATGATACGCGCCGGCCGCTGGGTCGCGCTCCGGGCGCCGCGGGCCATCGCCACGCGGCCGGTCCGGACCATTTCCATGATCCCGTACGGCCGAAGCACCTCGAGCAGACCGTCAATCTTGTCTTCCGTACCGGTGATCTCGATGATCAGCGAATCCACCGCCACGTCGATCACCCGCGCGCGGAACACCTCGGCGAGCTGCATGACGTGCGGCCTGGATTCCGCCGACGCGGCAAC
>k99_100
AAAATACAGGTCTTTCAATGATGAAAGAAATGGATGATGCAAAAAATCTCGTTGGAATTGATTATACGAAGCATTTTGCTGATTTGGTAGAGAAAGCAGATCCTTTTGGTTCTAAAGCAGCGTTTATGCCAATGAAAGTAATTACTGCTTTGGCTTTGTTTGGTGAAAACGGCTCAACGAAAGCATTGGAAAGCTCATTAAAAAGAGGTGGAAGTGAAGAAAATTTAAACGATCTTTATTTAAACAGAGTAGGTGAGTACAAATGGAATGGTAAAACCTGGATTAAAAATAAAGAAGTTAAAGATAAAATTATTTTACGCTTTCCATCTTCTAATGCTAAAACTGTAAATAACGCTTCTTATGAAATTTCATTTGTGAACTATGCTGGAGCAGGTTTGCCTGATGA
>k99_104
GGTTCCATACATGTAACGCCAGGAATAGTGGACAACATTTGGTGCATCAGTGCGCCACGACGAGCAAATGCCTCACGCATCATGTGCACCGCTGATAAATCACCACTGACTGCAGCAAGTGCTGCAACCTGTGACACGTTGGCAACGTTTGACGTGGCATGCGATTGGAAGTTTGTTGAAGCCTTCATGATGTCTTTCGGTCCA
>k99_108
CCGCAGCATCTGACCGAGATCGAAGGGGCGGCCGTAGGGGCGCCGGCTGCTGTGCTGGCGCGCTGGACGGCGGCGGGCATGGCGCCGGCAGTCGTCATCGGCGACGGCGCGTTGGCCTTCGAGTCCCTCCTCGCCGGAGAGGCCCGCGTGTGTGGCGCGCAGCCGCTCGCCGGGACAATCGGACGAATCGCGGCGATCCGCGCGGATCGGGGAGAAGCGGTGGAGCCACACGCCGTGCGCGCGCTGTACGTCCGGCGTTCTGACGCGGAGGTCGAGAGGGACCGTGCCCGCTGATTCGAATGGTGCGGCGCCCCTCGCGCTGACGGTCGATCTCTTGTCGTCACTCGACGAACTGGACGAGGTGATGGCGGTCGA
>k99_112
ATGTCGAGCGCCAGCATTAGCGGGCGGGCGGACAAGGATGTTGATGCGCGCTCAATCGCTTTGGTGAAAACCGGTGACGAAGAAGCCAGCGCTGGCCGCGTCGATAGCGCAATTGGCTGGTATGAAACTGCGCTCGCGGTCGACCCGCGCAACCGTGCCGCTTATGTCGCCATGGCGCGCGCCGTAAAATCCCAGGGGTTG
>k99_115
GCAGTGGATGCCATACCAGAAAAAGTCGGGATGGTGCGGCTCGAATTCGGCGGGCCCGATGGAGTAGACGGAGGTGATGTCACCGATCTTGGCGAACTTTGAGGCGAAGGTTTCAGGTGGATACCTAAGGGACGAAGAACTGAAGAGTGGGATTTTGTGTTCGCGGGCGAGGCGGACGATTTCGACGGCGTCTGTAAGAGAGCCGGCGAGGGGCTTGTCGATGAAGACGGGTTTTTTCGCGGCGAGGGTCTGGCGGAATTGTTCGAGGTGGGGGCGGCCGTCGACGCTTTCGATCAGA
>k99_117
CGTCTCTGAGCTTTTCAGCTTCCATCAACTTGGCTTTTCCTATGGCCGCACTGTCGGAAACAATCGCAATCGGCCCTAACCTGGCTCCCAAGCAAGCCATGTGCATCGCCACGTGCTCAGCGGCCCCGGACGAGATTCGATATCCCACCGGAATGGCGACCGCCATGGATCTGACACAAACCTTCCCGTCCTTTCGCCATACCGTCCGTCGCTTCGTACGTCGTCTGGTGTGGCGTCGCTGTCCTCCGTGGTGCTGTAGACGTTCTCGATGGGGTCGTCGCCCTGGAAGTACTGGAGGTGGCTGTAGTCGCGCGGGAC
>k99_121
ATGAGTACAACAGTCAGTCATAACTGCGTAAGGGGCACCTGTAAATCTAGCCAATGCATGTTCAAATTCTAGTATTTTCTCAAACATTTTCGCTCAAGTGATCTTGTTTAATTTCTCGCACTGGGCAATTTAGTAATTCTGCTATAGTATTTTTAACTGCTATTCTTTTATTATTCCAATTTCTTATTAGTATAGCACGTCGTCCAATTTCTTCCAAACTTAATTCTTCTTCGCAACCACTTTTTAATTCAGCTTCTAATGTCCAGATAGTATCATGTATTCTTTTGAGCTCATCAAAACACGTTTTAACAAGAGATAAATCGAATTGTGAAGTTTGATCTTGATACCAATTAAGTTCCTCTTGATTGCTGTGTGTCCGATCCCACTTAACTTCGGCTATGGCTAATCTATCAAATAGTTCAATTACTGGAAAGTGGTAACTCATAGATATAGTCCTTCAATTTTTTCTGGA
>k99_135
AAAAGACTGTTGGCTTCTCCCAAAAAATTTACTTAAAAAATAATATTCAGACAACAATTCTTGAAAGTGCTATGCTTTGAAAGTTGTGTTTTTTTTAATTATGGCCAAAGAAAAAACAATACACACAAAAAAAGTTTGAAACATGGCCGATTTTCGTTTTAACGTGAAAGCTGATACCACAGATTAGATATAGAATAGATAGAGGCTTCCTAAATATCAGTAGTTCCCGGTCAAAGGGGCAGGATCAAGAGGGTTGCGGGGTTTCCTCTCTTCACATTGTACATTGTACACCTTGGTTGTAATAATAGAATATGTAACACCTTGT
【问题讨论】:
-
添加(虚构,但结构正确)样本数据会使这变得容易得多。
-
知道了!添加了带有第一行标题示例的 2block。