我有多个这样的文本文件:
>nexus0013_Pseudomonas_59M
NNNNNNNNNNNNNNNNNNNNNNNNNNNTTGCTAGGTGCCCTGCGCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCAGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_62M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_53M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_54M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGACCCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_55M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_57M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_58M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_60M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_61M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
我想在下一行中对标题(“>”之后的所有内容)及其相应的序列进行排序,以便它们最终按升序排列,如下所示:
>nexus0013_Pseudomonas_53M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_54M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGACCCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_55M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_57M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_58M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_59M
NNNNNNNNNNNNNNNNNNNNNNNNNNNTTGCTAGGTGCCCTGCGCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCAGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_60M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_61M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
>nexus0013_Pseudomonas_62M
ATGCCTGTCACTCTCCCGCGCCTGGCGTTGCTAGGTGCCCTGCTCTTCCCTGTGGCTGCCGCCTGGGCCGCCGAGCTCCGCCTGGAACTGCCGGGGGGCACGCAGACCTGGAGCAGCGAAGAACTGCTCAGGCATCCGCAGGCCCGCGACCTGGACATCCCGGCCGACGTCGCCTACCGCCGGAACATGCGCTACCGCGCCGTGCCACTGGCGGCCTTGTTGAAAGGCGTGCATCCCGAAGACCATTTGCAGGCCGTGGCCAGCGATGGCTTCGCCGCCGAGTTGCCGGCCGCCCCGCTGCTCGCCGAACAGGGCTCGCAAGCCTGGCTGGCGATAGAGGATCCGCAGCGCCCCTGGCCGCCGTTGGGCGCCGGCAAGCCGTCCGCCGGGCCGTTCTATCTGGTCTGGAGCAAACCCGAGGAAAAACGCATCGGTCCGGAGCAATGGCCCTTCCAGGTCGTCCGCATCCGCTATCAGCCCCCTCTGGCCGAACGCTTCCCGGCCCTGCTGCCGGCCGCCGACGCCAGCGCGGAAGTGCGCGCCGGCTTCGCCGTGTTCCAGAAGAACTGCCTGGCCTGCCACCGTCTCAACGGTGCCGGCGACGCCCAGTTCGGCCCGGACCTGAACCTGCCGTACAACCCCACCGAGTACTTCCAGCCGCAATTCCTCTCCCGCTACATCCGCGACCCGCAGGCGCTGCGGCAATGGCCACAGGCGAAAATGCCGGCGTTCCCGGAACGGGTGATCGACGACCAGGAGTTGCGCCAGTTGATCGGCTACTTGCGCCACATGGCCGGCCGCAAGGCGGGCGCGGCCGGCTGA
*有时会有缺失的数字,例如本例中的 56M
答案1
使用sed
:
sed -i -e 's/ /\n/' <(sort -n <(sed -e 'N;s/\n/ /' in.txt))
说明:
- 各
sed -e 'N;s/\n/ /' in.txt
部分,用单个空格将每两条线连接在一起 sort -n
执行数值排序的部分- 然后
sed -e 's/ /\n/'
,我们根据之间的单个空格将该行拆分为两条单独的行。 - 会将
-i
更改写入输入文件中,使用时-i.bak
将首先从输入文件中进行备份。
答案2
awk '/^>/ { printf "%s ",$0; next; } { print; }' file1 |
sort -n |
awk '{ print $1; print $2; }'
答案3
您可以使用Schwartzian
转换Perl
来执行此操作:
perl -ne '
push @A, $_.=<>}{
print for
# Schwartzian transform
map { $_->[0] } # recover the line
sort { $a->[1] <=> $b->[1] } # do the sorting using the key
map { [$_,/_(\d+)M$/m] } # setup: line(zeroth-indexed) + sorting key(first index)
@A; # operate on elements of array @A
' yourfile
结果
>nexus0013_Pseudomonas_53M
.....................................
>nexus0013_Pseudomonas_54M
.....................................
>nexus0013_Pseudomonas_55M
.....................................
>nexus0013_Pseudomonas_57M
.....................................
>nexus0013_Pseudomonas_58M
.....................................
>nexus0013_Pseudomonas_59M
.....................................
>nexus0013_Pseudomonas_60M
.....................................
>nexus0013_Pseudomonas_61M
.....................................
>nexus0013_Pseudomonas_62M
.....................................
将文件按行对填充到数组中@A
。然后在 eof 处,我们执行Schwartzian
“map->sort->map”操作。在此,我们携带整条线+排序数据,并在操作的最后一步中,在排序后恢复线。因此,对于这种情况,排序键是位于行边界的 M 之前的数字。 (记住我们附加了下一行)