Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 显示带有转义颜色代码的文件 – 从bootlog守护进程引导消息大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个包含颜色代码的文件: Fri May 25 17:13:04 2012: [....] StarTing MTA: exim4^[[?25l^[[?1c^[7^[[1G[^[[32m ok ^[[39;49m^[8^[[?25h^[[?0c. Fri May 25 17:13:05 2012: [....] Loading cpufreq kernel modules...^[[?25l
我有一个包含颜色代码文件
Fri May 25 17:13:04 2012: [....] StarTing MTA: exim4^[[?25l^[[?1c^[7^[[1G[^[[32m ok ^[[39;49m^[8^[[?25h^[[?0c.
Fri May 25 17:13:05 2012: [....] Loading cpufreq kernel  modules...^[[?25l^[[?1c^[7^[[1G[^[[32m ok ^[[39;49m^[8^[[?25h^[[?0cdone (acpi-cpufreq).

如何在linux终端上显示它着色?

解决方法

为了完整起见,包含所有这些转义序列的文件由bootlogd守护程序(debian系列中的bootlog软件包)生成,它捕获在引导过程中发送到控制台的所有彩色消息.在控制台上,这些消息首先显示如下:
[....] StarTing perioDic command scheduler: cron

那么当执行服务或命令时,将转发序列发送到控制台,以将光标重新定位在行的开头,并打印ok,fail,info,warn等…

[ ok ] StarTing perioDic command scheduler: cron.

所有这些消息都由bootlogd守护程序捕获,并写入具有所有转义序列的文件,包括重定位序列.没有问题,除了^ [必须被八进制033替换为正确显示文件.但是,因为有一个catch,守护进程还会在消息前添加一个日期戳,而不会改变光标重新定位顺序的坐标.因此,ok,fail等消息覆盖部分日期戳.不太好.

Fri May 25 17:13:01 2012: [....] StarTing perioDic command scheduler: cron
becomes...
[ ok ay 25 17:13:01 2012: [....] StarTing perioDic command scheduler: cron.

解决办法是改变光标定位顺序.通过尝试和错误我发现序列是^ [1G.以下sed命令终于完成了工作:

sed 's/\^\[/\o33/g;s/\[1G\[/\[27G\[/' /var/log/boot

在将控制台消息发送到文件之前,bootlogd守护程序应清除所有转义序列.我们可以称之为错误吗?

所有的Debian继承人,如Ubuntu,Mint等,也可能会出现这个“bug”

大佬总结

以上是大佬教程为你收集整理的linux – 显示带有转义颜色代码的文件 – 从bootlog守护进程引导消息全部内容,希望文章能够帮你解决linux – 显示带有转义颜色代码的文件 – 从bootlog守护进程引导消息所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。