gpt4 book ai didi

Perl,根据第二行中的值更改第一行中的值,

转载 作者:行者123 更新时间:2023-12-02 00:03:19 25 4
gpt4 key购买 nike

所以我的这个文件有超过 480000 行和 1380 列。如果第二行中的值是性别:女性或性别:男性,我需要一个将 F_ 或 M_ 添加到第一行中的值的管道。

我文件中的第一行基本上是个人 ID,后跟单元格类型 -N 或 -G。第二行表示该个体是女性还是男性,其余行是第一列中的 probe_Id,其他列是每个个体对应的 beta_value。如果这样做更有意义,我会添加以下几行。

我的输入文件是这样的(制表符分隔),没有第一列。

1740-N  1546-N  1546-G  1740-G  1228-G  5121-N  5121-G
Sex: Female Sex: Female Sex: Female Sex: Female Sex: Male Sex: Female Sex: Female

我的输出应该是这样的(制表符分隔),没有第一列

F_1740-N    F_1546-N    F_1546-G    F_1740-G    M_1228-G    F_5121-N    F_5121-G

注意没有输出性别线。

有人可以帮忙吗?如果列数较少,我会手动执行。

这可以在任何程序中完成;我不坚持使用 perl

最佳答案

$ awk -F'\t' '
NR%2 { split($0,a); next }
{
for (i=1;i<=NF;i++)
printf "%s%s_%s", (i==1?"":FS), ($i~/Female/?"F":"M"), a[i]
print ""
}
' file
F_1740-N F_1546-N F_1546-G F_1740-G M_1228-G F_5121-N F_5121-G

关于Perl,根据第二行中的值更改第一行中的值,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20008395/

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