我有这个输入,我正在尝试使用此代码将其转换为表格格式
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;
所需格式输出: