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

如何使用Linux命令基于Time Taken By All Events字段值对文本行排序

实现日志按指定字段降序排序的Linux命令方案

方案1:通用匹配方案(不受前置字段空格变化影响,推荐)

直接通过匹配目标字段名提取排序关键字,不会因为日志行前面的字段空格数量变化出错,命令如下:

# 替换 your_log.log 为你的实际日志文件路径
awk -F 'Time Taken By All Events:' '{print $2 "|" $0}' your_log.log | sort -t'|' -k1,1nr | cut -d'|' -f2-

说明:这里用了|作为临时分隔符,避免原行的空格干扰排序逻辑,兼容性更好

各步骤作用:

  • awk部分:以Time Taken By All Events:为分隔符拆分每一行,把目标数值放在行首,用|和原行拼接
  • sort部分:指定|为分隔符,按第一列做数值降序排序(n表示按数值排序,r表示降序)
  • cut部分:去掉行首临时添加的数值和分隔符,输出排序后的原日志行

方案2:固定字段位置排序(适合格式完全固定的日志)

如果你的日志所有行的字段都是严格空格分隔、目标数值固定在第14列,可以直接用sort命令:

sort -k14,14nr your_log.log

注意:如果日志行存在字段空格数量不一致的情况(比如示例中出现Sum id和Sumid的差异),会导致字段计数错误,这种情况请使用方案1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:45:04