sed/awk:多列数据的转换

sed/awk:多列数据的转换

我正在操作由某些 AWK 脚本生成的多列数据文件:

# output.csv
lig12, dG(rescored)
1, 0.596625
2, 1.05873
3, 1.11285
4, 0.697402

我需要将这个 output.csv 修改为一行格式,包含:第一行的第一列(lig12),第二列中检测到的最小值(在所有行中,这里是 0.596625)以及它在第一列中对应的 ID 号(这里是 1):

lig12, 0.596625 (1)

sed/awk 的哪些组合可能有用,可以将其添加到我最初的 AWK 脚本生成的 output.csv 中?

答案1

以下是一种方法:

awk -F ', ' '
NR==1 { coltitle=$1 }
NR==2 { min=$2; id=$1 }
NR>3 && $2<min { min=$2; id=$1 }
END { print coltitle FS min" ("id")" }
'

输出:

lig12, 0.596625 (1)

相关内容