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