gpt4 book ai didi

linux - 根据列匹配从两个输入文件创建输出文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:25:24 26 4
gpt4 key购买 nike

我需要使用 linux 命令从两个输入文件创建一个文件

输入 1:

21 33210001 rs60180678 G T 100 PASS AVGPOST=1.0000;RSQ=0.9885;THETA=0.0002;AA=G;AN=2184;VT=SNP;LDAF=0.0019;SNPSOURCE=LOWCOV;AC=4;ERATE=0.0003;AF=0.0018;AFR_AF=0.01 GT:DS:GL

输入2:

21 33210001 . G T . . ;AA=0.0163934;AFE=0;ASNE=0;EUN=0;AFW=0.0113636;MED=0;LAT=0;VT=SNP;AF=0.0018

预期输出:

21 33210001 rs60180678 G T . . ;AA=0.0163934;AFE=0;ASNE=0;EUN=0;AFW=0.0113636;MED=0;LAT=0;VT=SNP;AF=0.0018

每一列由制表符分隔。

根据第 1、2、4 和 5 列匹配创建输出

输出文件的每一列由制表符分隔。

最佳答案

这是 awk 的一种方式:

awk 'BEGIN { FS=OFS="\t" } FNR==NR { a[$1,$2,$4,$5]=$3; next } ($1,$2,$4,$5) in a { $3=a[$1,$2,$4,$5] }1' file1 file2

结果:

21 33210001 rs60180678 G T . . ;AA=0.0163934;AFE=0;ASNE=0;EUN=0;AFW=0.0113636;MED=0;LAT=0;VT=SNP;AF=0.0018

关于linux - 根据列匹配从两个输入文件创建输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13598577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com