我有一个包含一些DNA序列的文本文件。这是在一条线上,但我想分成多行。如何在regex模式之前和之后的正则表达式搜索后添加换行符返回?
>JH739887TTTACAATGTATAATAGAAACTAAAACTGAAATGTTAATCTTGAAATTTAAGAATCTTCAAAAATGTTTAAGTGGTGATAATCTCCCCAGTGTGAGAAACACACTTGGAAGGAAGTCACAAGTCAAATTTAGATTTGTTGCTTAATAATGGATTTGTAAGTATTATCAAATACTCAAGCACtaaggaaacaggaaaatctgaaatgttCACTTGCTTCTAAACATTTGCAGCCGAGTCCAACTTACACAGGGTAAGATGAGTTTTACAGACAGACACTATTTGTTATTAGGTCAGCTACAGTAAGTGAAAAAACTCACCTCTTTAAGTCTGATAAAGTAGCAGAAagtcatattttaaatatcagtaTAAACAAATGCTCTAAGTTTGGAAATGTTAATCTTGAAAGAACCTTCAAAAACATTTAAGTGCTGGTTATCTCCCCAGTGTGT>JH739882TTTACAATGTATAATAGAAACTAAAACTGAAATGTTAATCTTGAAATTTAAGAATCTTCAAAAATGTTTAAGTGGTGATAATCTCCCCAGTGTGAGAAACACACTTGGAAGGAAGTCACAAGTCAAATTTAGATTTGTTGCTTAATAATGGATTTGTAAGTATTATCAAATACTCAAGCACtaaggaaacaggaaaatctgaaatgttCACTTGCTTCTAAACATTTGCAGCCGAGTCCAACTTACACAGGGTAAGATGAGTTTTACAGACAGACACTATTTGTTATTAGGTCAGCTACAGTAAGTGAAAAAACTCACCTCTTTAAGTCTGATAAAGTAGCAGAAagtcatattttaaatatcagtaTAAACAAATGCTCTAAGTTTGGAAATGTTAATCTTGAAAGAACCTTCAAAAACATTTAAGTGCTGGTTATCTCCCCAGTGTGT
我想要的文件分开我能看的地方:
grep '>[A-Z]\{2\}[0-9]\{6\}' ~/Desktop/text2.txt
正规表达式 “> [AZ] {2} [0-9] {6}”寻找模式">JH######
。
但每当我使用SED命令添加前和正则表达式搜索后回传,这是行不通的:
sed '/>[A-Z]\{2\}[0-9]\{6\}/a/b\
\n' ~/Desktop/text2.txt
这是错误我:
sed: 1: "/>[A-Z]\{2\}[0-9]\{6\}/ ...": command a expects \ followed by text
下面的命令正在运行,但没有给出预期的结果:
sed '/>[A-Z]\{2\}[0-9]\{6\}/a\
\n' ~/Desktop/text2.txt
这是我期待的结果(t他第一行不应该收到回报,但对于比赛的其余部分应之前和之后,该行返回¬
这里包括为清楚起见)有一个行返回:
>JH739887¬
TTTACAATGTATAATAGAAACTAAAACTGAAATGTTAATCTTGAAATTTAAGAATCTTCAAAAATGTTTAAGTGGTGATAATCTCCCCAGTGTGAGAAACACACTTGGAAGGAAGTCACAAGTCAAATTTAGATTTGTTGCTTAATAATGGATTTGTAAGTATTATCAAATACTCAAGCACtaaggaaacaggaaaatctgaaatgttCACTTGCTTCTAAACATTTGCAGCCGAGTCCAACTTACACAGGGTAAGATGAGTTTTACAGACAGACACTATTTGTTATTAGGTCAGCTACAGTAAGTGAAAAAACTCACCTCTTTAAGTCTGATAAAGTAGCAGAAagtcatattttaaatatcagtaTAAACAAATGCTCTAAGTTTGGAAATGTTAATCTTGAAAGAACCTTCAAAAACATTTAAGTGCTGGTTATCTCCCCAGTGTGT¬
>JH739882¬
TTTACAATGTATAATAGAAACTAAAACTGAAATGTTAATCTTGAAATTTAAGAATCTTCAAAAATGTTTAAGTGGTGATAATCTCCCCAGTGTGAGAAACACACTTGGAAGGAAGTCACAAGTCAAATTTAGATTTGTTGCTTAATAATGGATTTGTAAGTATTATCAAATACTCAAGCACtaaggaaacaggaaaatctgaaatgttCACTTGCTTCTAAACATTTGCAGCCGAGTCCAACTTACACAGGGTAAGATGAGTTTTACAGACAGACACTATTTGTTATTAGGTCAGCTACAGTAAGTGAAAAAACTCACCTCTTTAAGTCTGATAAAGTAGCAGAAagtcatattttaaatatcagtaTAAACAAATGCTCTAAGTTTGGAAATGTTAATCTTGAAAGAACCTTCAAAAACATTTAAGTGCTGGTTATCTCCCCAGTGTGT¬
这是打印的东西,但它不会添加行返回:'n> JH739887nTTTA'。这是我得到的前几个字符的结果 –
你在Mac上? – SLePort
是的,这有什么不同?它仅适用于Linux吗? –