使用 bash 将树文件转换为表格格式

问题描述 投票:0回答:0

我有这个输入,我正在尝试使用此代码将其转换为表格格式

echo "((((hg38:0.0059208,panTro4:0.00614632):0.00912834,ponAbe2:0.0162903):0.0103823,((((rheMac3:0.002205,macFas5:0.00140637):0.00447334,papAnu2:0.00672868):0.0036317,chlSab2:0.0111877):0.00448508,(nasLar1:0.00562647,rhiRox1:0.00529304):0.010434):0.0182667):0.0144574,(calJac3:0.0310785,saiBol1:0.0303508):0.0368572):0.0591295,tarSyr2:0.143432):0.00953508,(micMur1:0.0752709,otoGar3:0.129115):0.0481673):0.137311,mm10:0.223203);" |
tr ',' '\n' | tr ':' '\t' | tr -d '()' |
awk -F '\t' '{if (NF == 1) {printf "%s\t%s\n", "branch", $1} else {printf "%s\t%s\n", $1, $2}}'

但是我的输出是这个,在 ):,

之间跳转信息
hg38    0.0059208
panTro4 0.00614632
ponAbe2 0.0162903
rheMac3 0.002205
macFas5 0.00140637
papAnu2 0.00672868
chlSab2 0.0111877
nasLar1 0.00562647
rhiRox1 0.00529304
calJac3 0.0310785
saiBol1 0.0303508
tarSyr2 0.143432
micMur1 0.0752709
otoGar3 0.129115
mm10    0.223203;

所需格式输出:

bash database-design tree type-conversion bioinformatics
© www.soinside.com 2019 - 2024. All rights reserved.