gpt4 book ai didi

shell - 根据时间戳将多个日志文件合并为一个

转载 作者:行者123 更新时间:2023-12-04 02:15:26 33 4
gpt4 key购买 nike

我正在尝试找到一种解决方案来快速合并来自 2 个应用程序服务器的 2 个日志文件。
日志文件是这样的:

00:00:00,028 DEBUG [com.acme.productionservice...

我想要一些基于时间戳打印日志文件的一行或另一行的东西,例如:

如果文件一有两行:
00:00:00,028 DEBUG [com.acme.productionservice...
00:00:00,128 DEBUG [com.acme.productionservice...

和文件二有这 3 行:
00:00:00,045 DEBUG [com.acme.productionservice...
00:00:00,100 DEBUG [com.acme.productionservice...
00:00:00,150 DEBUG [com.acme.productionservice...

输出应该是
00:00:00,028 DEBUG [com.acme.productionservice...   (file 1)
00:00:00,045 DEBUG [com.acme.productionservice... (file 2)
00:00:00,100 DEBUG [com.acme.productionservice... (file 2)
00:00:00,128 DEBUG [com.acme.productionservice... (file 1)
00:00:00,150 DEBUG [com.acme.productionservice... (file 2)

我目前知道的唯一方法是使用
cat file1 文件 |种类
但这对于 gb 的日志来说非常慢
我需要一些东西,比如阅读 2 个文件并比较时间戳并决定要打印的内容。

最佳答案

我最终使用

sort -m 

我还使用了一个技巧来了解日志来自哪个日志文件
for a in *.log ; do 
awk '$0=FILENAME" "$0' $a > $a.log
do
sort -m -k 2 *.log.log

关于shell - 根据时间戳将多个日志文件合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397583/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com