You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Bash的Awk/sed命令仅保留FASTA头部的物种名称?

处理FASTA文件头部编号的正确方法

你之前用的sed 's/[1-9]/./g'完全没命中需求——它只是把数字替换成点,根本没处理FASTA头部里的编号前缀。要实现只保留物种名的目标,得针对性处理以>开头的行,把>后到第一个空格的编号部分删掉。

用sed实现

sed '/^>/s/^>[^ ]* />/' silva_species_assignment_v132.fa > textfile.txt
  • /^>/:只匹配以>开头的FASTA头部行
  • s/^>[^ ]* />/:把行首>后面所有非空格的字符(也就是编号)替换成>,直接保留空格后的物种名

用awk实现

如果你更习惯awk,这个命令也能达成目标:

awk '/^>/ {sub(/^>[^ ]* /, ">"); print; next} 1' silva_species_assignment_v132.fa > textfile.txt
  • /^>/:匹配头部行
  • sub(/^>[^ ]* /, ">"):替换掉头部行里的编号前缀
  • next:跳过后续处理,直接打印修改后的头部行
  • 1:对非头部行执行默认的打印操作

运行上面任意一个命令,都能得到你想要的输出:

>Regiella insecticola
AGAGTTTGATCATGGCTCAGATTGAACGCTGGCGGCAGGCCTAACACATGCAAGTCGAGCGGCAGCGGGGAGTAGCTTGCTACTCTGCCGGCGAGCGGC
>Pantoea dispersa
GCAGCTACACATGCAAGTCGAACGGCAGCACAGAAGAGCTTGCTCTTTGGGTGGCGAGTGGCGGACGGGTGAGTAATGTCTGGGAAACTGCCCGATGGA

内容的提问来源于stack exchange,提问作者Abhisek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 13:07:10