Answers:
我ls想您是管道制造商,并且想要保留端子颜色代码。您可以说ls --color=always(而不是使用的默认值--color=auto),它会保留代码,但这不能保证您要传递的内容知道如何理解它们。
如果您使用glark而不是grep它将尝试显示颜色。
如果less与-R它一起使用,将尝试显示颜色。
git。我发现它具有类似的配置(例如git config color.diff always),可以保持着色。
git diff输出作为输入的任何脚本或命令,因为它将始终输出ANSI转义码。
grep "string" file.txt | head为确保grep的结果是彩色的,我将其更改为grep "string" file.txt --color=always | head
这取决于在管道中生成输出的程序。
head,,tail等不是消除颜色的工具,而是生成数据的程序,该程序通常检查输出是否将输出到控制台(彩色),文件或管道(未彩色)
我发现了另一个SU Q&A,展示了如何撒谎以管道方式输出程序,就像它们将输出发送到控制台一样(使用来模拟控制台unbuffer)
color=auto模式的着色(使程序认为输出进入控制台而不是管道)?
head)tail等如何检测到它正在通过管道传递到另一个程序(以便它可以生成没有颜色等的数据)。
head,,tail等不是消除颜色的方法,它是生成数据的程序,通常会检查输出是否将输出到控制台(彩色),文件或管道(未彩色)。