我有两个文件:
文件 1(第一行是标题)
gene h1 h2 h3 h4 h5 h6 h7 h8...
gene_name1 e1 e2 e3 e4 e5 e6 e7 e8...
gene_name2 ...
gene_name3 ...
...
文件 2(无标题)
gene_name1 mean1 mean2 sd1 sd2
gene_name2 ...
gene_name3 ...
如果 File1 中的任何字段 e1、e2、e3...> 来自 File2 的相应基因名称的 mean1+3(sd1),我想输出标题字段。示例:如果 e1>mean1+3(sd1) 为 TRUE,则打印:
基因名称1 h1
如果 e2 >mean1+3(sd1) TRUE,则将 h2 添加到该行:
基因名称1 h1 h2
如果 $1 匹配两个文件,则对每一行执行此操作。如果 File1 中没有满足条件的字段,请将其留空。
期望的输出:
gene_name1 h1 h2
gene_name2
gene_name3 h5 h6 h8
gene_name4 h1 h5
gene_name5 h3
gene_name6
gene_name7 h2 h5 h7 h8
...
我在想这样的事情:
awk 'FNR==NR{a[$1]=$2+3*$4;next} $1 in a
...然后是文件 1 中每个字段的“for 循环”。但我不知道如何存储标题字段。