问题标签 [ansi-escape]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4384 浏览

ruby-on-rails - 如何在 Multitail 中为 Rails 日志着色?

tail logs/development.logXFCE终端中的输出:

XFCE终端中tail logs/development.log的输出

多尾日志/development.log 的输出

Rails 自动将转义码添加到日志文件中。见development.log文件:

multitail -c产生不可用的输出。

multitail -c 的输出

如何在不编写自己的配色方案的情况下为 Multitail 中的日志着色?

0 投票
1 回答
234 浏览

java - 忽略所有转义字符和代码 JAVA

情况:

  • 我有一个这样创建的字符串

    /li>
  • 当字符串打印到控制台时,它会P + characterID 像应该的那样以绿色打印出来

问题:

  • 我需要创建一个标签string P + characterID
  • 但是放置的文本是[32m[44mP"+characterID+"[0m

现在怎么办:

  • 鉴于我有几个不同颜色的字符串,正则表达式和替换似乎并不适用于所有人。
  • 无论如何,我在创建文本时可以忽略转义码和颜色吗?

有什么建议么?

0 投票
4 回答
3750 浏览

c - 读取设备状态报告 ANSI 转义序列回复

我正在尝试使用以下代码检索 VT100 终端中光标的坐标:

我正在使用以下 ANSI 转义序列:

设备状态报告 - ESC[6n

将光标位置报告给应用程序(就像在键盘上键入一样)ESC[n;mR,其中 n 是行,m 是列。

代码编译并发送 ANSI 序列,但是,在接收到它后,终端将^[[x;yR字符串打印到,stdout而不是stdin让我无法从程序中检索它:

终端窗口

显然,字符串是为程序指定的,所以我一定做错了什么。有人知道它是什么吗?

0 投票
3 回答
4615 浏览

ruby - 在将字符串写入日志文件之前从字符串中删除颜色装饰

我像这样使用红宝石记录器:

MultiIO我从这个答案中得到的课程在哪里。大多数情况下,这很好用,但我使用'colored'ruby​​gem 在终端上提供彩色输出。不幸的是,这也最终出现在日志文件中,因为 ANSI 转义看起来像[32mPASS[0m或一些类似的不可打印字符垃圾。

在保持 tty 字符串颜色的同时清理日志文件字符串的最佳方法是什么?我不介意猴子补丁LoggerMultiIO,但我绝对不希望对 logfile 和 screen 进行两次不同的调用。

0 投票
13 回答
84387 浏览

windows - 如何让 win32 控制台识别 ANSI/VT100 转义序列?

我正在构建 ncurses 库的轻量级版本。到目前为止,它在兼容 VT100 的终端上运行良好,但 win32 控制台无法将\033代码识别为转义序列的开头:

截屏

为了加载 ANSI.SYS 驱动程序并识别 ANSI/VT100 转义序列,需要在 C 代码级别做什么?

0 投票
2 回答
5861 浏览

python - 想在 python 中调整终端窗口的大小,工作但不太正确

我试图在启动 python 脚本时调整终端窗口的大小,以确保显示为静态大小。它正在工作,但并不完全符合我的预期。我尝试了几种方法:

甚至只是

它们都可以工作并调整真实终端的大小。但是,如果我的终端是 25x80 启动,脚本启动,它调整大小,然后退出。它不会执行脚本的其余部分。我把它包裹在一个 try/Except 中,没有抛出任何东西。syslogs 和 python -v script.py 中没有任何异常显示。如果我再次执行脚本或以 40x120 的术语大小(我的目标大小)..脚本运行得很好。为什么执行 ANSI 转义退出 python?此外,如果我以交互方式运行它,它可以正常工作。使用 Python 2.6.6。

0 投票
1 回答
143 浏览

python - ANSI代码的字符串问题

我的目标是可视化,例如,这个输出:

整个日期必须使用此 ANSI 代码着色:

我试过这段代码:

但它返回给我一个完全错误的字符串:

在此处输入图像描述

这有什么问题?

0 投票
1 回答
2702 浏览

shell - Esc、Alt、Ctrl 和箭头键如何在 ssh/shell 中编码

我正在为一个特殊设备制作一个 SSH 客户端,它的键盘上没有全键,我的问题是 Esc、Alt、Ctrl 和箭头键是如何在发送到 shell 的字符串中编码的?它只是'\ 033'吗?

我知道Enter密钥的行为方式,它从这里给出 ^M

但是当我按Ctrl+v然后Ctrl什么都没有出现时,当我在终端按Ctrl+v然后Ctrl+c我得到: ^C ,所以Ctrl只是 ^ ?

但是关于alt

此外,我发现:

left^[[D right^[[C
up^[[A down^[[B

我可以将这些命令command如下写到 libssh:

问题是我从 ssh 得到以下响应:zsh:我的 mac 上的 bash 和我的 SSH 程序中的替换失败:

-bash: :s^[^C: 替换失败

0 投票
18 回答
127021 浏览

bash - 从输出中删除颜色

我有一些产生颜色输出的脚本,我需要删除 ANSI 代码。

输出是(在日志文件中):

我不知道如何将 ESC 字符放在这里,所以我把它放在@了它的位置。

我将脚本更改为:

但现在它给了我(在日志文件中):

我怎样才能删除这个 ' @[60G

也许有一种方法可以完全禁用整个脚本的着色?

0 投票
2 回答
346 浏览

python - 如何解释来自 vt-100 / vt-102 DA 请求的响应

应该如何解释来自 DA 转义序列 ( \e[c) 的响应?

在 urxvt 中运行命令时,我得到1;2,在 linux 控制台(和 st)中得到6;,在 xterm 中得到64;1;2;6;9;15;18;21;22

从我在互联网上找到的内容来看,这些字符串应该以某种方式识别终端功能。http://www.vt100.net/docs/vt100-ug/chapter3.html#DA

这似乎符合 urxvt(可能还有 xterm)的响应,但不符合其他响应。所有提到的终端似乎都与 VT-102 相当兼容,据我所知,这将映射到 1;2 (AVO)。

有谁知道吗?