regex - 如何使用Linux命令提取Fasta文件中的部分文件头

标签 regex linux vim

我有一个带有唯一 header 的 Fasta 文件,我想在 Unix 中使用正则表达式提取该 header 的一部分。

例如我的 Fasta 文件以此标题开头:

>jgi|Penbr2|47586|fgenesh1_pm.1_#_25  

我只想提取此 header 的最后一部分,例如:

>fgenesh1_pm.1_#_25

实际上我在 vim 编辑器中使用了这个正则表达式,但它不起作用:

:%s/^([^|]+\|){3}//g

:%s/^([A-Z][0-9]+\|){3}//g

如果给我一些建议,我会很合适。

最佳答案

你可以使用sed:

sed -e 's/>.*|/>/' fasta-file

>| 之间的所有内容都被替换为 >

关于regex - 如何使用Linux命令提取Fasta文件中的部分文件头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32691166/

相关文章:

需要 UNIX 服务器上保存的 CSV 文件的 Java 前端

linux - Saucelabs 连接 Linux - 无法识别 '-u' 命令

php - 是否有一个 VIM 插件可以显示 PHP 类对象的可用函数?

Git merge 消息问题(Vim?)

regex - 使用 Glob 语法忽略 Mercurial 中的文件

javascript - 寻找正则表达式来从字符串中删除文本

java - C++保存和导入外部可执行结果而不写入磁盘

vim - 在vim中锁定一些文本以防止修改

php - 正则表达式解析youtube yid

c# - 使用 List<string> 替换字符串