部分行替换命令

部分行替换命令

我的文件中有一堆 DNA 序列。我想用 替换顶行,例如,>xxx_3-13_00021^gcd有人>gcd 有搜索和替换命令吗?

>xxx_3-13_00021^gcd
TGCCGTTATTACAATCCGGCAGTCCATACGGCAGCTTTTGCCTTACCCCAGTATCTGCAA
GATGCACTGGCTTCACAGCCGTCCTAA
>yyy_3-13_00019^group_3912
ATGGCCGTTTGCGCAAACAGTTACGCGCTCAGCGAGTCTGAAGCCGAAGATATGGCCGAT
TTAACGGCAGTTTTTGTTTTTCTGAAGAACGATTGTGGTTACCAGAACTTACCTAACGGG
CAAATTCGTCGCGCGCTGGTCTTTTTCGCCCAGCAAAACCAGTGGGATCTCAGTAATTAC
GACACCTTCGACATGAAAGCCCTCGGTGAAGACAGCTACCGCGATCTCAGCGGCATTGGC
ATTCCCGTCGCTAAAAAGTGCAAAGCCCTGGCTCGCGATTCCTTAAGCCTGCTTGCCTAC
GTCAAATAA
>zzzz_3-13_00020^cueO
ATGCAACGTCGTGATTTCTTGAAATATTCCGTCGCGCTGGGTGTGGCTTCAGCCTTGCCG
CTGTGGAGCCGCGCAGTATTTGCGGCGGAACGCCCAACGTTACCAATCCCTGATTTGCTC
ACGACCGATGCCCGTAATCGCATTCAGTTAACTATTGGCGCAGGTCAGTCCACCTTTGGC
GGGAAAACCGCAACTACCTGGGGCTATAACGGCAATCTGCTGGGGCCGGCGGTGAAATTA
CAGCGTGGCAAAGCGGTAACGGTTGATATCTACAACCAACTGACGGAAGAGACGACGTTG
CACTGGCACGGGCTGGAAGTACCGGGTGAAGTGGACGGCGGCCCGCAGGGAATTATTCCG

答案1

您可以使用以下sed命令来实现此目的:

sed -e 's/^>.*\^/>/g'

解释:

  • >表达式搜索以 开头并以 结尾的字符串^
  • 并将其替换为>
  • 因此,只保留 fasta-ID 的最后几个字母。

使用你的例子:

$ echo ">xxx_3-13_00021^gcd
TGCCGTTATTACAATCCGGCAGTCCATACGGCAGCTTTTGCCTTACCCCAGTATCTGCAA
GATGCACTGGCTTCACAGCCGTCCTAA
>yyy_3-13_00019^group_3912
ATGGCCGTTTGCGCAAACAGTTACGCGCTCAGCGAGTCTGAAGCCGAAGATATGGCCGAT
TTAACGGCAGTTTTTGTTTTTCTGAAGAACGATTGTGGTTACCAGAACTTACCTAACGGG
CAAATTCGTCGCGCGCTGGTCTTTTTCGCCCAGCAAAACCAGTGGGATCTCAGTAATTAC
GACACCTTCGACATGAAAGCCCTCGGTGAAGACAGCTACCGCGATCTCAGCGGCATTGGC
ATTCCCGTCGCTAAAAAGTGCAAAGCCCTGGCTCGCGATTCCTTAAGCCTGCTTGCCTAC
GTCAAATAA
>zzzz_3-13_00020^cueO
ATGCAACGTCGTGATTTCTTGAAATATTCCGTCGCGCTGGGTGTGGCTTCAGCCTTGCCG
CTGTGGAGCCGCGCAGTATTTGCGGCGGAACGCCCAACGTTACCAATCCCTGATTTGCTC
ACGACCGATGCCCGTAATCGCATTCAGTTAACTATTGGCGCAGGTCAGTCCACCTTTGGC
GGGAAAACCGCAACTACCTGGGGCTATAACGGCAATCTGCTGGGGCCGGCGGTGAAATTA
CAGCGTGGCAAAGCGGTAACGGTTGATATCTACAACCAACTGACGGAAGAGACGACGTTG
CACTGGCACGGGCTGGAAGTACCGGGTGAAGTGGACGGCGGCCCGCAGGGAATTATTCCG" | sed -e 's/^>.*\^/>/g'


>gcd
TGCCGTTATTACAATCCGGCAGTCCATACGGCAGCTTTTGCCTTACCCCAGTATCTGCAA
GATGCACTGGCTTCACAGCCGTCCTAA
>group_3912
ATGGCCGTTTGCGCAAACAGTTACGCGCTCAGCGAGTCTGAAGCCGAAGATATGGCCGAT
TTAACGGCAGTTTTTGTTTTTCTGAAGAACGATTGTGGTTACCAGAACTTACCTAACGGG
CAAATTCGTCGCGCGCTGGTCTTTTTCGCCCAGCAAAACCAGTGGGATCTCAGTAATTAC
GACACCTTCGACATGAAAGCCCTCGGTGAAGACAGCTACCGCGATCTCAGCGGCATTGGC
ATTCCCGTCGCTAAAAAGTGCAAAGCCCTGGCTCGCGATTCCTTAAGCCTGCTTGCCTAC
GTCAAATAA
>cueO
ATGCAACGTCGTGATTTCTTGAAATATTCCGTCGCGCTGGGTGTGGCTTCAGCCTTGCCG
CTGTGGAGCCGCGCAGTATTTGCGGCGGAACGCCCAACGTTACCAATCCCTGATTTGCTC
ACGACCGATGCCCGTAATCGCATTCAGTTAACTATTGGCGCAGGTCAGTCCACCTTTGGC
GGGAAAACCGCAACTACCTGGGGCTATAACGGCAATCTGCTGGGGCCGGCGGTGAAATTA
CAGCGTGGCAAAGCGGTAACGGTTGATATCTACAACCAACTGACGGAAGAGACGACGTTG
CACTGGCACGGGCTGGAAGTACCGGGTGAAGTGGACGGCGGCCCGCAGGGAATTATTCCG

相关内容