已关闭,此问题需要更focused。它目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。
去年关闭。
Improve this question
我有一个制表符分隔的文件,其中包含两列(ref和alt)。我想通过替换ref列中的alt列字母来创建新列。但我不想用任何替换空行和TTGA(长度大于1)之类的字母
下面是我的输入文件
ref alt
T C
C
T A,C
G TTGA
C
字符串
预期产量
ref alt
T C C T T
C C C C
T A,C T A C
G TTGA G G G
C C C C
型
输出的说明
1)在ref列中,T
在第一列,第二行,在相邻的alt列中,C
存在于第二列,第二行,所以我打印ref列作为新列(见第3列),然后我用alt列中的C
替换T
。
1.在第一列,第三行和相邻的alt列中有C
,所以我不会粘贴ref列作为新列。
1.在第一列第4行的ref列中有T
,在相邻的alt列中有A,C
(第二列第4行),因此按原样粘贴ref列(第4列),我首先用A
替换T
,然后再次按原样粘贴ref列,并用C
替换T
(第5列第4行)
1.在第一行中,5t列G
在那里,并且在相邻的alt列TTGA
(长度大于1)在那里,所以我不会将ref列粘贴为新列。
C
在第一列,第6行,但在相邻的alt列没有什么可替换的,所以我不会粘贴ref列,因为它是新列。
1条答案
按热度按时间yacmzcpb1#
Awk解决方案
文件
./replaceletters.awk
:字符串
可执行模式:
型
启动方式:
型
输出量:
型