在Linux上如何分割一行并保留分隔符?

3
我想在Linux中根据分隔符拆分一行,但仍希望保留第一行中的分隔符。
例如,如果我尝试这样做...
echo ">chrAATCTAGATTTGTGTTGAACAACCCTTGGTAC" | tr '>chr' $'\n'

我只得到这个输出....
AATCTAGATTTGTGTTGAACAACCCTTGGTAC

但是我想要这样的输出...
>chr
AATCTAGATTTGTGTTGAACAACCCTTGGTAC

有什么想法可以在Linux上实现吗?

“tr”不是一个用于分割输入的工具。 - Ignacio Vazquez-Abrams
有没有其他的方法实现这个输出? - upendra
1个回答

4
您可以尝试使用像这样的sed命令:
echo ">chrAATCTAGATTTGTGTTGAACAACCCTTGGTAC" | sed 's:\(>chr\):\1\n:g'

其中()创建了一个组,\1在替换中引用这个组。


这是输出 >chrnAATCTAGATTTGTGTTGAACAACCCTTGGTAC。我甚至尝试像这样转义 \n,即 /\n,但仍然不起作用。 - upendra
1
'\1\n'这段代码与bash 4.3.11sed 4.2.2完美兼容,你可以尝试在其他终端模拟器或shell中运行。 - ntki
1
是的,在另一个 shell 上运行成功了。感谢您的帮助! - upendra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接