我只想删除“>”符号后的数字和“_”,例如:
>1_CR-B_CR56_t
MTKIIKFVYFMTIFISPNHHCPVYNCTHPKQPWCKLVRLQLLFHGSLIGLCDCI
>2_R-B_R46_t
MVEVTKLVNVMLIFLTLSPLVYDCQAYECELPFKPDCLMVEYSPQFVALRCGCV
>3000_N-N274_M
MVEVTKLVNVMLIFLTLFVYTDSDCQAYACELPFKPDCLMVEYAPQFFRLACGCV
Run Code Online (Sandbox Code Playgroud)
预期成绩:
>CR-B_CR56_t
MTKIIKFVYFMTIFISPNHHCPVYNCTHPKQPWCKLVRLQLLFHGSLIGLCDCI
>R-B_R46_t
MVEVTKLVNVMLIFLTLSPLVYDCQAYECELPFKPDCLMVEYSPQFVALRCGCV
>N-N274_M
MVEVTKLVNVMLIFLTLFVYTDSDCQAYACELPFKPDCLMVEYAPQFFRLACGCV
Run Code Online (Sandbox Code Playgroud)
我使用过,sed "s/>[0-9][_]//g"但它也删除了“>”。
只需对您的sed命令稍作修改:
sed 's/^>[0-9]\+[_]/>/g'
Run Code Online (Sandbox Code Playgroud)
这s是 sed替代命令,它搜索左侧的字符串并将其替换为右侧的字符串。您可以将其替换为>您想要保留的字符,而不是用任何东西替换它。
^ 用于指定匹配只应从换行符的开头开始
此外,*用于匹配多个数字。