如何根据时间戳对输入文件中的日志行进行排序?

阿杰

我有一个包含以下日志行的输入日志。我想%H:%M:%S:%f在python中根据模式按升序对行进行排序

输入日志样本:

Patch:[18Q][05/20 11:24:14:123] [] some text
Patch:[18Q][05/20 13:20:29:173] [] some text
Patch:[18Q][05/20 11:24:14:545] [] some text
[05/20 12:31:22:355] some text 
[05/20 12:25:40:959] some text 
[05/20 12:47:09:771] some text
Patch:[18Q][05/20 13:24:52:094] [] some text
[05/20 12:25:11:314] some text 

预期输出日志:

Patch:[18Q][05/20 11:24:14:123] [] some text
Patch:[18Q][05/20 11:24:14:545] [] some text
[05/20 12:25:11:314] some text 
[05/20 12:25:40:959] some text 
[05/20 12:31:22:355] some text 
[05/20 12:47:09:771] some text
Patch:[18Q][05/20 13:20:29:173] [] some text
Patch:[18Q][05/20 13:24:52:094] [] some text
猪猪
import re


s = """Patch:[18Q][05/20 11:24:14:123] [] some text
Patch:[18Q][05/20 13:20:29:173] [] some text
Patch:[18Q][05/20 11:24:14:545] [] some text
[05/20 12:31:22:355] some text 
[05/20 12:25:40:959] some text 
[05/20 12:47:09:771] some text
Patch:[18Q][05/20 13:24:52:094] [] some text
[05/20 12:25:11:314] some text """


def func(val):
    s_result = re.search(r"(?<=\[)(\d{1,2}/\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}:\d{1,3})(?=\])", val)
    return s_result.group() if s_result else "999"


print(sorted(s.split("\n"), key=func))


# output
"""
[
'Patch:[18Q][05/20 11:24:14:123] [] some text', 
'Patch:[18Q][05/20 11:24:14:545] [] some text', 
'[05/20 12:25:11:314] some text ', 
'[05/20 12:25:40:959] some text ', 
'[05/20 12:31:22:355] some text ', 
'[05/20 12:47:09:771] some text', 
'Patch:[18Q][05/20 13:20:29:173] [] some text', 
'Patch:[18Q][05/20 13:24:52:094] [] some text'
]
"""

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据时间戳对文件中的行进行排序

根据时间戳对数据帧的行进行排序

如何根据时间戳对grep命令中显示的文件名进行排序?

如何根据时间戳范围和行类型对 SPARK 数据框中的行进行配对

按时间戳对行进行排序

在Windows中使用python根据时间戳按排序顺序将多个日志文件合并到单个日志文件中?

根据文件名中嵌入的时间戳对文件进行排序、分组和处理

根据bash中的模式对文件行进行排序

如何根据时间戳列和名称列对 dask 中的行进行分组,同时保持一定的分布?

如何根据firebase时间戳对我的对象数组进行排序

如何按时间戳对行进行分组?

将谷歌表格中的矩阵展平后,如何根据时间戳对答案进行排序?

如何根据在jtable中动态添加的列对行进行排序?

如何根据列的值对Laravel中的行进行排序?

如何根据Google表格中的背景颜色对行进行排序

如何在名称中带有ddmmyy时间戳的Bash中对文件进行排序

如何使用 Postman 中 json 文件中的时间戳字段对 json 进行排序?

如何根据选择语句对行进行排序

如何根据组对行进行排序?

根据整数对SQL中的行进行排序

首先通过时间戳值对熊猫中的行进行排序,然后对列的类别值进行特定排序

如何在BASH中对文件行进行排序

如何从包含时间戳的日志文件中获取日期值

将时间戳添加到批处理输出的日志行中

如何在Java列表中对最早的时间戳进行排序?

使用旧时间戳就地删除日志行

如何按时间对 csv 中的系统日志数据进行排序

对文件中的各行进行排序

对文件中的某些行进行排序