html - 在浏览器中呈现终端输出

标签 html bash logging terminal ansi

我有一个文件,其中包含使用 screen 实用程序捕获的一堆终端日志。这是一个片段:

[A[0m[27m[24m[J[34m~[39m


(base) [38;5;242mbase[39m [35m❯[39m ]133;B[K[?1l>[?2004l

[A[0m[27m[24m[J[34m~[39m

等等等等

输出充满了 ANSI 转义码、\r、\n 等。但我的终端设法很好地呈现了这一切,我想我也应该能够做到。我找到了一些将 ANSI 代码转换为 HTML 的库,但我认为它们不处理任何其他转义。

我仍然觉得一定有人在我之前以某种方式解决了这个问题。有没有简单的方法可以做到这一点?

最佳答案

我有一个书签,使用为 Rancher 制作的此类库。

你可以在里面找到那个库:-)

javascript:var oReq = new XMLHttpRequest();oReq.open("GET", "https://raw.githubusercontent.com/drudru/ansi_up/master/ansi_up.js", true);oReq.onloadend = function (oEvent) {new Function(oReq.responseText)();var el=document.getElementsByTagName("PRE")[0];el.innerHTML=(new AnsiUp).ansi_to_html(el.innerText);};oReq.send();document.body.style="color:white;background-color:black";undefined

人类也可读的版本;-)

javascript:var oReq = new XMLHttpRequest();
oReq.open("GET", "https://raw.githubusercontent.com/drudru/ansi_up/master/ansi_up.js", true);
oReq.onloadend = function (oEvent) {
    new Function(oReq.responseText)();
    var el = document.getElementsByTagName("PRE")[0];
    el.innerHTML = (new AnsiUp).ansi_to_html(el.innerText);
};
oReq.send();
document.body.style = "color:white;background-color:black";
undefined

关于html - 在浏览器中呈现终端输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61108855/

相关文章:

bash - 如何从 shell 脚本创建和访问 shell 配置文件?

linux - 如何在 bash 中对逗号分隔值进行排序?

c++ - 如何从程序中删除日志调试语句

javascript - 单击获取数据属性并将其放置在 div 内

javascript - slickGoTo 在动画期间不会工作

linux - 通过命令行显示 Ubuntu Unity Launcher

java - 应用程序应将其日志存储在 Mac OS 中的什么位置?

javascript - 下拉 Bootstrap 行为很奇怪

html - 表单中的 input 元素是否可以采用在输入后在输入框中显示 % 符号的样式?

Django(CSRF token 丢失或不正确)抑制日志记录