我在文本文件中有以下行。我想删除最后一个“_”并在其后添加一个新行字符。
>15_48499991_ENSG00000074803_C_G_G_CCAATCGCTTTCAAGTTAGTGTG
>15_48499991_ENSG00000074803_C_G_G_CAATCGCTTTCAAGTTAGTGTGA
>15_48499991_ENSG00000074803_C_G_G_AATCGCTTTCAAGTTAGTGTGAT
Desired output:
>15_48499991_ENSG00000074803_C_G_G
CCAATCGCTTTCAAGTTAGTGTG
>15_48499991_ENSG00000074803_C_G_G
CAATCGCTTTCAAGTTAGTGTGA
>15_48499991_ENSG00000074803_C_G_G
AATCGCTTTCAAGTTAGTGTGAT
我已经使用下面的SED查询来执行此操作。我无法找出查询中的问题。
sed 's/\_/'\n'/g'
1条答案
按热度按时间x759pob21#
在匹配
_
之前,可以让.*
吃掉尽可能多的行(因为*
是贪婪的),或者是更好的
关于您的尝试,它有3个错误:
_
不需要转义'
不能嵌套(这是因为shell,而不是sed
);我不明白你为什么把它们放在那里:你想干什么?sed 's/_/\n/g'
结束,则将替换所有的_
,而不仅仅是最后一个。