gpt4 book ai didi

Linux:在同一文件中连接具有相等值的两行

转载 作者:太空宇宙 更新时间:2023-11-04 05:32:06 25 4
gpt4 key购买 nike

我有一个如下所示的文件:

1 51 Brahui A C A A T
1 51 Brahui A C A G T
3 51 布拉惠 A C A G C
3 51 Brahui A C G A T
5 51 Brahui A C G A T
5 51 布拉惠 A C G G C
7 51 Brahui A C G A T
7 51 布拉惠 A C G G T
9 51 布拉惠 A C G G T
9 51 布拉惠 A C G G T

我想生成一个输出文件,如果第一列/字段具有相同的值,那么我想将这两行合并在一起,并以“/”字符作为分隔符。例如:

1 51 Brahui A/A C/C A/A A/G T/T
3 51 布拉惠 A/A C/C A/G G/A C/T

有什么办法可以做到这一点吗?

P.S.从 $4 开始的列实际上有 2,834 长(即 $4-$2841),所以我认为实际输入 $4、$5、$6 等不切实际。有没有办法做到这一点?

最佳答案

pearl.229>awk '{a=$1;
b=$4;
c=$5;
d=$6;
e=$7;
f=$8;
getline;
if(a==$1)
print a,$2,$3,b"/"$4,c"/"$5,d"/"$6,e"/"$7,f"/"$8}' file3
1 51 Brahui A/A C/C A/A A/G T/T
3 51 Brahui A/A C/C A/G G/A C/T
5 51 Brahui A/A C/C G/G A/G T/C
7 51 Brahui A/A C/C G/G A/G T/T
9 51 Brahui A/A C/C G/G G/G T/T
pearl.230>

关于Linux:在同一文件中连接具有相等值的两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9992215/

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