命令行工具在输出文件中保留代码高亮?

命令行工具在输出文件中保留代码高亮?

例如,当使用 ack 在源文件中搜索代码时,输​​出会高亮显示。但是,如果将输出通过管道传输到本地文件中,则会丢失代码高亮部分。我们有命令行工具来保留它吗?

要理解我的意思:

$ git clone https://github.com/koehlma/jaspy
$ cd jaspy/
$ ack func ./* # you see the high light for each match
$ ack func ./* > output.txt
$ cat output.txt # you don't see the high light

答案1

ack做了一些类似的事情grep。当它将文本输入终端时,它会以彩色显示结果。如果输出重定向到文件,则匹配项不会着色。

您可以使用选项--color和来覆盖这些启发式方法--nocolor

查看man 1 ack更多详细信息。

相关内容