如何按日期排序来自多个日志文件的输出
我有几个不同日志文件的周末:
我想按日期对此输出进行排序,但在日志字符串上保存日志文件名,以便它应该如下所示:
您有任何想法如何使用命令以这种方式对输出进行排序 bash, sed 或者 awk?
非常感谢!
UPDATE:
这是输出的来源
马丁
logfile3
2010/07/21 15:28:52 INFO xxx
2010/07/21 15:31:25 INFO xxx
2010/07/21 15:31:25 DEBUG xxx
logfile1
2010/07/21 19:28:52 INFO xxx
2010/07/21 19:31:25 INFO xxx
2010/07/21 19:31:25 DEBUG xxx
logfile2
2010/07/21 13:28:52 INFO xxx
2010/07/21 13:31:25 INFO xxx
2010/07/21 13:31:25 DEBUG xxx
我想按日期对此输出进行排序,但在日志字符串上保存日志文件名,以便它应该如下所示:
logfile2
2010/07/21 13:28:52 INFO xxx
2010/07/21 13:31:25 INFO xxx
2010/07/21 13:31:25 DEBUG xxx
logfile3
2010/07/21 15:28:52 INFO xxx
2010/07/21 15:31:25 INFO xxx
2010/07/21 15:31:25 DEBUG xxx
logfile1
2010/07/21 19:28:52 INFO xxx
2010/07/21 19:31:25 INFO xxx
2010/07/21 19:31:25 DEBUG xxx
您有任何想法如何使用命令以这种方式对输出进行排序 bash, sed 或者 awk?
非常感谢!
UPDATE:
这是输出的来源
for i in $/ find log/ -iname *debug*.log -size +0 /;do
if [ `grep -c 'ERROR' $i` -gt 0 ];then
echo -e "\n$i"
grep 'ERROR' --color=auto -A 5 -B 5 $i
fi
done
马丁
没有找到相关结果
已邀请:
5 个回复
詹大官人
赞同来自:
每个字符串都将在文件名之前。 您的输出将看起来像这样:
您可以使用 AWK, 要将其重新格式化为您在榜样中显示的格式:
以下是您的脚本的一些改进,如果仍然使用它:
喜特乐
赞同来自:
或许有点清洁:
奔跑吧少年
赞同来自:
君笑尘
赞同来自:
风见雨下
赞同来自:
我从Dennis Williamson改进了脚本,按日期排序错误。 每个具有错误中的日志文件都保存在命名的文件中 timestamp 最后一个错误出现了。 这些文件稍后被排序并一起收集。 为此,可能会有清洁的解决方案而不是使用临时文件。
欢迎意见和改进的建议!