使用 sed 从字符串中删除字符

使用 sed 从字符串中删除字符

我有这个标题:

>tr|G3Q381|G3Q381_GASAC Uncharacterized protein OS=Gasterosteus aculeatus PE=4 SV=1

值得庆幸的是,我在这里得到了帮助,以实现:

 >G3Q381_GASAC

但现在我需要从以前的格式中删除最后两个字母,如下所示:

  >G3Q381_GAS

是否有可能从最初的长标头(不是中间截断的标头)得到它?

答案1

我不知道它是否可以接受,但您可以删除第二个管道之前的所有内容|,以及第一个空格减去 2 个字符之后的所有内容:

sed -e 's/^[^|]*|/>/' -e 's/^[^|]*|/>/' -e 's/.. .*$//'

相关内容