gpt4 book ai didi

linux - 如何从日志文件中打印多行,并将它们转换为单行

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:09 24 4
gpt4 key购买 nike

我正在尝试将服务器中的错误日志打印成一行,其中仅包含时间和重要的失败详细信息。第一行包含日志的时间戳,新行上方的最后一行包含日志的原因。想要将它们对齐成一行。任何帮助表示赞赏。“需要时间戳、严重性、空白行之前的最后一行”在一行中。

当前日志结构:

MAR31 10:30 critical
cable is faulty

MAR31 10:31 info
Card is recovered

MAR31 10:31 critical
Another card failed

MAR31 10:31 critical
missing inventory
cable missing

.....
.....
.....

.....
.....

......
......

要求的日志结构是:

MAR31 10:30 critical cable is faulty

MAR31 10:31 info Card is recovered

MAR31 10:31 critical Another card failed

MAR31 10:31 critical cable missing

最佳答案

使用 awk:

awk -v RS= -F '\n' '{ print $1, $NF }' filename

空记录分隔符在空行处分隔记录,并且字段分隔符设置为换行符,每个字段是一行。 print $1, $NF 然后打印记录的第一行和最后一行。

关于linux - 如何从日志文件中打印多行,并将它们转换为单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413969/

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