如果我用管道执行ls命令到更少,我得到奇怪的输出
ESC[00mESC[00mfile1.ccESC[00m
ESC[00file2.ccESC[00m
ESC[00file3.ccESC[00m
(表示介于两者之间的ESC字符串)。
没有ls,输出为:
file1.cc file2.cc file3.cc
如何解决这个问题?
答案 0 :(得分:4)
我猜你通过别名,函数或--color=always
环境变量和ls
发送颜色指令,LS_COLORS
设置了ls
选项到非终端(即你的管道到less
)。
答案 1 :(得分:3)
使用less -R
或将LESS
环境变量设置为-R
。
答案 2 :(得分:1)
您所看到的是用于设置颜色的ANSI转义序列。运行ls --color=no
。
答案 3 :(得分:1)
您需要使用less -r
减少输出原始控制字符。