【问题标题】:UNIX: Strange output if piped to lessUNIX:如果通过管道传输到更少的奇怪输出
【发布时间】: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

如何解决这个问题?

【问题讨论】:

    标签: unix command


    【解决方案1】:

    我猜你有ls--color=always 选项,通过别名、函数或LS_COLORS 环境变量和ls 正在向非终端发送颜色指令(即, 你的管道到less)。

    【讨论】:

      【解决方案2】:

      您看到的是用于设置颜色的 ANSI 转义序列。运行ls --color=no

      【讨论】:

        【解决方案3】:

        使用less -R 或将LESS 环境变量设置为-R

        【讨论】:

          【解决方案4】:

          您需要使用less -r 减少输出原始控制字符。

          【讨论】:

          • 大写选项 -R 避免了一些换行问题。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-18
          • 1970-01-01
          相关资源
          最近更新 更多