Sys*_*tem 1 awk sed multiple-columns
我有一个包含5列的输入文件,但我需要将第5列分成两列,因此输出文件总共有6列.
我的输入文件数据如下所示:
chrX 100629986 100630758 - ENSG00000000003.14.IntrontENST00000373020.8.Intron
chrX 100630866 100632484 - ENSG00000000003.14.IntrontENST00000373020.8.Intron
chrX 100632568 100633404 - ENSG00000000003.14.IntrontENST00000373020.8.Intron
Run Code Online (Sandbox Code Playgroud)
你注意到第5列在我的所有数据中都有类似的结构,所以我想做的是让我的第5列包含"ENSG00000000003.14.Intron",我的第6列包含"tENST00000373020.8.Intron"
然而,并非我的所有数据都具有.Intron标记,例如:
chrX 100597503 100597531 + ENSG00000000005.5tENST00000485971.1
Run Code Online (Sandbox Code Playgroud)
但是你会注意到我的所有数据都是"t",因此我想用它来分离这些列.我不确定如何为具有数十万行的数据执行此操作,并且手动执行此操作将花费太长时间.我还需要整个文件以制表符分隔,以便我可以继续进一步处理这些数据.
感谢大家提前,
您可以使用sed插入选项卡:
sed 's/tENST/\t&/' < input > output
Run Code Online (Sandbox Code Playgroud)
每个tENST字符串都被tab +字符串替换.
对于某些sed版本,您可以尝试$'s/tENST/\t&/'改为(即前置一个$).