将curl http://cheat.sh/python 管道连接到less 显示奇怪的ESC

将curl http://cheat.sh/python 管道连接到less 显示奇怪的ESC

我对 Linux 有点陌生。

curl cheat.sh/python我的基本问题:我需要显示类似man或页面的输出less,以便我可以轻松地上下滚动。

我尝试过什么:curl cheat.sh/python | less

输出:一些像这样的奇怪文字-

ESC[38;5;246m# Python 是一种高级编程语言ESC[39m ESC[38;5;246m# 而 python 是 Python 解释器.ESC[39m

ESC[38;5;246m# 使用 python 的服务器的基本示例ESC[39m ESC[38;5;246m# 将在端口 8 上的当前目录中启动 Web 服务器 000ESC[39m ESC[38;5;246m# 转到http://127.0.0.1:8000ESC[39m ESC[38;5;246m#ESC[39m ESC[38;5;246m# Python v2.7ESC[39m ESC[38;5;252mpythonESC[39mESC[38;5;252m] ESC[39mESC[38;5;252m- mESC[39mESC[ 38;5;252m ESC[39mESC[38;5;252mSimpleHTTPServerESC[39m ESC[38;5;246m# Python 3ESC[39m ESC[38;5;252mpythonESC[39mESC[38;5;252m ESC[39mESC] [38;5;252m-mESC[39mESC[ 38;5;252m ESC[39mESC[38;5;252mhttp.serverESC[39mESC[38;5;252m ESC[39mESC] 38;5;67m8000ESC[39m ...

看过之后, 我试过:curl -vs cheat.sh 2>&1 | less

但输出有点相同:

接受:/ * 将捆绑包标记为不支持多用途 HTTP/1.1 200 OK 服务器:nginx/1.13.12 日期:2020 年 3 月 25 日星期三 17:50:04 GMT 内容类型:

文本/纯文本; charset=utf-8 内容长度:25502 连接:保持活动状态

严格传输安全:max-age=63072000;包含子域

X-Frame-Options: DENY X-Content-Type-Options: nosniff { [2429 字节数据] ESC[38;2;0;204;0m_ESC[0mESC[38;2;0;204;0m_ESC[0mESC[38;] 2;0;204;0m ESC[0mESC[38;2;0;204;0m ESC[0mESC[38;2;0; 204;0m 电调[0m
| | __| | _| |__ ESC[38;2;0;204;0m\ESC[0mESC[38;2;0;204;0m ESC[0mESC[38;2;0;204;0m\ESC[0mESC[38;2;0] ;204;0m ESC[0mESC[38;2;0; 204;0m ESC[0m ESC[48;2;85;85;85m ESC[0mESC[48;2;85;85;85m ESC[0mESC[48;2;85;85;85m ESC[0mESC[48;2] ;85;85;85mTESC[0mESC[48;2;85;85;85mhESC[0mESC[48 ;2;85;85;85meESC[0mESC[48;2;85;85;85mESC[0mESC[48;2; 85;85;85moESC[0mESC[48;2;85;85;85mnESC[0mESC[48;2;85;85;85mlESC[0mESC[48;2;85;85;85myESC[0m ESC[48;2;85] ;85;85m ESC[0mESC[48;2;85;85;85mcESC[0mESC[48;2;85;85;85mhESC[0mESC[48;2;85;85;85meESC[0mESC[48;2;85;] 85;85maESC[0mESC[48;2;85;85;85mt ESC[0mESC[48;2;85;85;85m ESC[0mESC[48;2;85;85;85msESC[0mESC[48;2;85;] 85;85mhESC[0mESC[48;2;85;85;85meESC[0mESC[48;2;85;85;85meESC[0mESC[48;2;85;85];85mtESC[0mESC[48;2;85;85; 85m ESC[0mESC[48;2;85;85;85myESC[0mESC[48;2;85;85;85moESC[0mESC[48;2;85;85;85muESC[0mESC[48;2;85;85;85m] ESC[0mESC[48;2; 85;85;85mnESC[0mESC[48;2;85;85;85meESC[0mESC[48;2;85;85;85meESC[0mESC[48;2;85;85;85mdESC[0mESC[48;2;85;] 85;85m ESC[0mESC[48;2;85;85;85m ESC[0mESC[ 48;2;85;85;85m ESC[0m ...

最后,如果我更改上面的代码(这可能是错误的方法):curl -vs cheat.sh 1>&2 | less

然后我将获得curl所需的输出,但是按下按钮后,终端显示如下:

〜(结束)我基本上可以按 q 退出less

答案1

使用-R选项less,以便将这些代码解释为颜色。它以人类可读的方式呈现代码。但是可以将它们传递到终端以将其解释为颜色。-r将所有内容传递到终端,-R仅对颜色执行此操作。

curl cheat.sh/python | less -R

相关内容