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

Ubuntu下移除FASTA文件标题指定内容后字符的求助

解决FASTA标题截断问题

你的问题出在正则表达式的匹配逻辑上——你用了[^|]+来捕获内容,但你的FASTA标题里是用空格分隔ID和后续描述,不是竖线|,所以原命令根本没匹配到正确的分隔点。

试试下面的sed命令:

测试命令(不修改原文件)

sed -E 's/^>([^ ]+).*/>\1/' your_file.fasta

这个命令会:

  • 只匹配以>开头的标题行
  • 捕获>后到第一个空格前的所有内容(也就是你的ID:NC_000002.12)
  • 把整行替换成>+捕获到的ID,完全砍掉后续描述

原地修改文件(带备份)

如果测试结果符合预期,想要直接修改原文件,加上-i参数(Ubuntu的sed支持),建议同时加.bak生成备份文件防止误操作:

sed -i.bak -E 's/^>([^ ]+).*/>\1/' *.fasta

执行后会生成xxx.fasta.bak的备份文件,原文件被修改。

如果你想去掉开头的>只保留ID

把命令改成:

sed -E 's/^>([^ ]+).*/\1/' *.fasta

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:55:15