我正在尝试将我服务器中的错误日志打印成一行,只有时间和重要的失败细节。第一行包含日志的时间戳,新行上面的最后一行包含日志的原因。想把它们排成一行。任何帮助表示赞赏。 "需要时间戳,严重性,空白行之前的最后一行"在一条线上。
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
答案 0 :(得分:2)
使用awk:
awk -v RS= -F '\n' '{ print $1, $NF }' filename
空记录分隔符以空行分隔记录,并且字段分隔符设置为换行符,每个字段都是一行。 print $1, $NF
然后打印记录的第一行和最后一行。