我正在尝试找到一个快速合并来自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个文件并比较时间戳并决定要打印的内容。
答案 0 :(得分:2)
我最后使用
sort -m
我还使用了一个技巧来了解日志来自哪个日志文件
for a in *.log ; do
awk '$0=FILENAME" "$0' $a > $a.log
do
sort -m -k 2 *.log.log