You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bash从文本文件中提取总和最高的列名

最简方法获取求和最高的列名

嘿,给你两个超简洁的方案,挑你顺手的用就行:

方案1:用awk命令(一行搞定,适合熟悉命令行的同学)

直接在终端里运行这条命令,把your_file.txt换成你的实际文件名即可:

NR==1{for(i=1;i<=NF;i++)col[i]=$i} NR>1{for(i=2;i<=NF;i++)sum[i]+=$i} END{max=sum[2];maxcol=col[2];for(i=3;i<=NF;i++)if(sum[i]>max){max=sum[i];maxcol=col[i]} print maxcol}

逻辑拆解:

  • 处理第一行(表头):把每个列名存储到col数组中
  • 处理后续数据行:从第二列开始(第一列是行标识,无需求和),累加每一列的数值到sum数组
  • 最终遍历:找出sum数组里的最大值,对应输出它的列名

用你的测试文件运行,输出就是c,完全匹配需求~

方案2:用Python(代码简洁,适合Python用户)

如果更习惯用Python,几行代码就能解决:

with open('your_file.txt', 'r') as f:
    lines = f.readlines()

# 提取表头的列名
cols = lines[0].split()
# 计算每一列(跳过第一列行标识)的数值总和
sums = [sum(map(int, line.split()[i])) for i in range(1, len(cols))]
# 找到最大总和对应的列名
max_col = cols[1 + sums.index(max(sums))]
print(max_col)

逻辑说明:

  • 先读取文件所有内容,提取第一行的列名列表
  • 遍历数据行,逐个计算每一列的数值总和
  • 通过最大值的索引,匹配到对应的列名并输出

内容的提问来源于stack exchange,提问作者Laura Guerrero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 14:18:17