gpt4 book ai didi

replace - Awk:用另一个文件中的一列替换一个文件中的列

转载 作者:行者123 更新时间:2023-12-02 08:24:00 27 4
gpt4 key购买 nike

我有两个文件
文件1:

AAAAA01 T1  0   0   0   0   C   C   G   G   G
AAAAA02 T1 0 0 0 0 C C G G G
AAAAA03 T1 0 0 0 0 C C G G G
AAAAA04 T1 0 0 0 0 C C G G G
AAAAA05 T1 0 0 0 0 C C G G G
AAAAA06 T1 0 0 0 0 C C G G G
AAAAA07 T1 0 0 0 0 C C G G G
AAAAA08 T1 0 0 0 0 C C G G G
AAAAA09 T1 0 0 0 0 C C G G G
AAAAA10 T2 0 0 0 0 C C G G G
AAAAA11 T2 0 0 0 0 C C G G G

文件 2:

2   0
2 0
3 0
2 0
2 0
3 0
2 0
2 0
3 0
3 0
3 0

我尝试了以下 awk 选项..但我只替换了第 6 列的第一行。

awk 'BEGIN { OFS = FS } FNR==NR{a[NR]=$1;next}{$6=a[FNR]}1' File2.txt File1.txt > out1.txt

awk 'BEGIN {OFS = FS} NR == FNR {a[FNR] = $B; next} $A = a[FNR]' B=1 A=6 File2.txt File1.txt > out1.txt

如何用 File2 中的第 1 列替换 File1 中的第 6 列?

最佳答案

您可以使用下面的代码 -

awk 'FNR==NR{a[NR]=$1;next}{$6=a[FNR]}1' File2.txt File1.txt > output.txt

这给了我完美的输出,如下所示

AAAAA01 T1 0 0 0 2 C C G G G<br/>                                                                                                                                               
AAAAA02 T1 0 0 0 2 C C G G G<br/>
AAAAA03 T1 0 0 0 3 C C G G G<br/>
AAAAA04 T1 0 0 0 2 C C G G G<br/>
AAAAA05 T1 0 0 0 2 C C G G G<br/>
AAAAA06 T1 0 0 0 3 C C G G G<br/>
AAAAA07 T1 0 0 0 2 C C G G G<br/>
AAAAA08 T1 0 0 0 2 C C G G G<br/>
AAAAA09 T1 0 0 0 3 C C G G G<br/>
AAAAA10 T2 0 0 0 3 C C G G G<br/>
AAAAA11 T2 0 0 0 3 C C G G G<br/>

当我尝试在线模拟器时

关于replace - Awk:用另一个文件中的一列替换一个文件中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33923754/

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