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

如何用Bash命令从当月轮转日志中获取第3列最大值

定位当月日志文件并提取第三列最大值的Bash命令

直接用这条命令就能完成需求:

awk '{print $3}' transc-$(date +%y%m).log | sort -n | tail -n 1

命令拆解

  • date +%y%m:自动生成当前年份后两位+月份的字符串(比如2023年3月会输出2303),刚好匹配你的日志文件名格式transc-YMM.log
  • awk '{print $3}' 文件名:精准提取日志文件中的第三列内容
  • sort -n:对提取出的数字做数值排序(避免字典序排序导致的100排在20前面的错误)
  • tail -n 1:取排序结果的最后一行,也就是第三列的最大值

验证示例

用你提供的日志内容,假设当前是2023年3月,对应日志文件transc-2303.log,执行命令后会输出87,和预期完全一致。

补充优化

如果日志中存在第三列不是纯数字的行,可以加上过滤逻辑确保只处理有效数据:

awk '$3 ~ /^[0-9]+$/ {print $3}' transc-$(date +%y%m).log | sort -n | tail -n 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:35:19