Terminal 从中的fasta文件的每一行中删除模式

Terminal 从中的fasta文件的每一行中删除模式,terminal,Terminal,我有一个fasta文件file.fasta,它具有以下模式: >firstnumber 01abc_numericsequence CGTAATCG >secondnumber 01abc_anothernumericsequence GGTAAACC 以此类推,但我希望输出类似于: >firstnumber CGTAATCG >secondnumber CGTAAACC 如何删除模式01abc和每行中其后的所有内容,并覆盖

我有一个fasta文件file.fasta,它具有以下模式:

>firstnumber 01abc_numericsequence    
CGTAATCG  
>secondnumber 01abc_anothernumericsequence  
GGTAAACC    
以此类推,但我希望输出类似于:

>firstnumber   
CGTAATCG  
>secondnumber   
CGTAAACC  
如何删除模式01abc和每行中其后的所有内容,并覆盖文件.fasta

请问,有人能提供解决方案吗?

我已经试过了

sed 's/01abc*//' file.fasta
问题是它不仅删除了模式,而且没有同时删除_numericsequence和_anothernumericsequence。此外,更改未保存在文件.fasta中。
然后,我试着

ex -sc '%s/\(\01abc\).*/\1/ | x' file.fasta
它同时删除了"数字序列"和"另一个数字序列"。问题是我也想删除该模式,但它没有。 最后,我试过了

ex -sc '%s/\(\ \).*/\1/ | x' file.fasta
它起作用了,因为在本例中,其他行没有任何空格

cat fasta

>firstnumber 01abc_numericsequence    
CGTAATCG  
>secondnumber 01abc_anothernumericsequence  
GGTAAACC


awk '/^>/ {$0=$1} 1' fasta

>firstnumber
CGTAATCG  
>secondnumber
GGTAAACC

sed '/^>/ s/ .*//' fasta

>firstnumber
CGTAATCG  
>secondnumber
GGTAAACC
sed
awk
都会替换以>