【发布时间】:2011-04-23 04:55:43
【问题描述】:
如果我用管道执行 ls 命令到 less,我会得到奇怪的输出
ESC[00mESC[00mfile1.ccESC[00m
ESC[00file2.ccESC[00m
ESC[00file3.ccESC[00m
(表示中间的 ESC 字符串)。
没有ls,输出为:
file1.cc file2.cc file3.cc
如何解决这个问题?
【问题讨论】:
如果我用管道执行 ls 命令到 less,我会得到奇怪的输出
ESC[00mESC[00mfile1.ccESC[00m
ESC[00file2.ccESC[00m
ESC[00file3.ccESC[00m
(表示中间的 ESC 字符串)。
没有ls,输出为:
file1.cc file2.cc file3.cc
如何解决这个问题?
【问题讨论】:
我猜你有ls 的--color=always 选项,通过别名、函数或LS_COLORS 环境变量和ls 正在向非终端发送颜色指令(即, 你的管道到less)。
【讨论】:
您看到的是用于设置颜色的 ANSI 转义序列。运行ls --color=no。
【讨论】:
使用less -R 或将LESS 环境变量设置为-R。
【讨论】:
您需要使用less -r 减少输出原始控制字符。
【讨论】: