我有两种文本格式:
文件-1:
Class Pos Ref Alt Raw_score Actual_Score
1 50203 Y E -0.00254 3.298
5 6357 G V 1.358 10.685
2 87521 A H 0.6587 6.3354
文件-2:
Class Pos Ref Alt Info
5 6357 G V ACT/wo%%$2.25;56842;ALT
11 25684 H A GEP/hq#$..25;69875;Trans
3 258 G L KPD/ng?~88q68;8954;Inter
如果initial four columns
的{{1}}与File-1
的{{1}}匹配,则将initial four columns
和File-2
及其Raw_score
放在一起1}}在匹配行的末尾,以Actual_score
符号分隔,如下:
输出:
values
答案 0 :(得分:1)
$ awk '{k=$1FS$2FS$3FS$4}NR==FNR{if(NR>1)a[k]=";"b"="$5";"c"="$6;else{a[k]="";b=$5;c=$6}next}k in a{print $0a[k]}' file1 file2
Class Pos Ref Alt Info
5 6357 G V ACT/wo%%$2.25;56842;ALT;Raw_score=1.358;Actual_Score=10.685
如果您不理解该脚本,请阅读Arnold Robbins撰写的Effective Awk Programming,4th Edition,并修改脚本以包含空白字符,换行符,缩进,有意义的变量名称等,以使其更清晰 - 做这将有助于你学习语言。