我在文本文件中有以下几行。我想删除最后一个'_'并在其后添加新的换行符。
>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'
匹配.*
之前,您可以让*
尽可能多地吃东西(因为_
贪婪):
sed 's/\(.*\)_/\1\n/' file
关于您的尝试,它有3个错误:
_
不需要转义'
无法嵌套;首先,我不明白你为什么把它们放在那里:你想做什么?sed 's/_/\n/g'
结尾,则将替换所有_
,而不仅仅是最后一个。