我正在操作由某些 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)