我有一个文件,当一个特定列的第一个字段(比如1和2)的第五个字段中有一个上下文(管道即|)时,我想在其中更新该列第一个字段中的值。你知道吗
我可以使用python,但是拆分行、替换值并连接它们将是一个很长的脚本。我正在寻找一个解决方案使用awk(pefereable)其他人也很好,是短。我还想把它嵌入到python脚本中。你知道吗
下面是“我的数据”中的两列,其中的字段以(:)分隔。
0/1:42,19:61:99:0|1:5185_T_TTCTATC:560,0,1648 0/1:38,34:72:99:0|1:5185_T_TTCTATC:1145,0,1311
0/0:124,0,0:124:99:0,120,1800,120,1800,1800 0/0:165,0,0:165:99:0,120,1800,120,1800,1800
0/0:152,0:152:99:.:.:0,120,1800 0/1:145,34:179:99:0|1:5398_A_G:973,0,6088
因此,当该列中的第5个字段有“|”时,我们用第5个字段值更新第一个字段。
预期结果:
0|1:42,19:61:99:0|1:5185_T_TTCTATC:560,0,1648 0|1:38,34:72:99:0|1:5185_T_TTCTATC:1145,0,1311
0/0:124,0,0:124:99:0,120,1800,120,1800,1800 0/0:165,0,0:165:99:0,120,1800,120,1800,1800
0/0:152,0:152:99:.:.:0,120,1800 0|1:145,34:179:99:0|1:5398_A_G:973,0,6088
-实际上,有很多专栏。并且,假设这种列出现在第5个python索引位置之后,我想在第5个列之后的每个列字段中进行替换,如何处理这个问题。你知道吗
谢谢你
谢谢你
唯一需要注意的是,第5个子字段不能包含
&
,因为这将是sub()中的反向引用元字符。你知道吗如果要在第5列开始替换,请在loop init部分将i=1更改为i=5。你知道吗
分成几行:
相关问题 更多 >
编程相关推荐