如何从fasta文件头中删除前三个字符
How to remove the first three character from the fasta file header
我有一个这样的 fasta 文件:
>rna-XM_00001.1
actact
>rna-XM_00002.1
atcatc
如何删除 'rna-' 使其变为
>XM_00001.1
actact
>XM_00002.1
atcatc
你显示的是文件内容?那么 sed 应该可以做到这一点:
sed 's/^>rna-/>/' < inputfile > outputfile
解释:
- sed 命令行的第一个字符是
s
,它告诉 sed 进行替换
/
是分隔符
^
告诉 sed 只查看一行的开头
- 下一个
>rna-
是行首要匹配的模式
- 下一个
>
是替换模式的替换
相反,如果您想始终删除 >
之后的前四个字符,只要它们以 -
结尾,您可以使用:
sed 's/^>...-/>/' < inputfile > outputfile
解释:
- 这与上面类似,除了在行首匹配的模式是
>...-
。该模式是一个正则表达式,其中 .
匹配任何单个字符。所以这个模式匹配以 >
开头的任何行,后跟任何三个字符,然后是 -
.
我有一个这样的 fasta 文件:
>rna-XM_00001.1
actact
>rna-XM_00002.1
atcatc
如何删除 'rna-' 使其变为
>XM_00001.1
actact
>XM_00002.1
atcatc
你显示的是文件内容?那么 sed 应该可以做到这一点:
sed 's/^>rna-/>/' < inputfile > outputfile
解释:
- sed 命令行的第一个字符是
s
,它告诉 sed 进行替换 /
是分隔符^
告诉 sed 只查看一行的开头- 下一个
>rna-
是行首要匹配的模式 - 下一个
>
是替换模式的替换
相反,如果您想始终删除 >
之后的前四个字符,只要它们以 -
结尾,您可以使用:
sed 's/^>...-/>/' < inputfile > outputfile
解释:
- 这与上面类似,除了在行首匹配的模式是
>...-
。该模式是一个正则表达式,其中.
匹配任何单个字符。所以这个模式匹配以>
开头的任何行,后跟任何三个字符,然后是-
.