![如何在脚本中使用 less 而不获取 ESC 转义字符?](https://linux22.com/image/87735/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%20less%20%E8%80%8C%E4%B8%8D%E8%8E%B7%E5%8F%96%20ESC%20%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
答案1
使用-R
标志:
-r 或 --raw-control-chars
导致显示“原始”控制字符。默认是使用插入符号显示控制字符;例如,control-A(八进制 001)显示为“^A”。警告:当使用 -r 选项时,less 无法跟踪屏幕的实际外观(因为这取决于屏幕如何响应每种类型的控制字符)。因此,可能会导致各种显示问题,例如长线在错误的位置被分割。
-R 或 --RAW-CONTROL-CHARS
与 -r 类似,但仅以“原始”形式输出 ANSI“颜色”转义序列。与 -r 不同,大多数情况下屏幕外观都能正确保持。 ANSI“颜色”转义序列是以下形式的序列:
ESC [ ... m
其中“...”是零个或多个颜色规范字符 为了跟踪屏幕外观,假定 ANSI 颜色转义序列不移动光标。通过将环境变量 LESSANSIENDCHARS 设置为可以结束颜色转义序列的字符列表,可以减少“m”以外的字符可以结束 ANSI 颜色转义序列的情况。通过将环境变量 LESSANSIMIDCHARS 设置为可以出现的字符列表,可以减少 ESC 和 m 之间可能出现标准字符以外的字符的可能性。
来自less
手册页。