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

Bash Shell技术问询:如何忽略表头按文件最后一列值排序

在Bash Shell中实现带表头表格的指定列排序

嘿,这需求其实用Bash里的基础命令组合就能轻松搞定!咱们直接看具体的实现方式:

假设你的数据文件名叫grades.txt,可以用这条命令完成你要的操作:

head -n 1 grades.txt && tail -n +2 grades.txt | sort -k4,4gr

我来拆解下每个部分的作用:

  • head -n 1 grades.txt:先把第一行的表头直接输出,保证结果里表头还在最前面
  • tail -n +2 grades.txt:提取文件里从第二行开始的所有数据行,跳过表头部分
  • sort -k4,4gr:这是核心的排序命令:
    • -k4,4:明确指定按第4列(也就是你说的最后一列Average_Winter_Grade)排序
    • g:告诉sort按数值大小排序,而不是默认的字符串排序,这样像9.935和10这种能正确比较,不会出现字符串排序时10排在9前面的问题
    • r:设置为降序排列,刚好符合你给出的示例里从高分到低分的顺序

执行这条命令后,输出的内容就会和你要求的完全一致啦!

内容的提问来源于stack exchange,提问作者M.Ionut

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 10:27:38