![命令行工具在输出文件中保留代码高亮?](https://linux22.com/image/6230/%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E5%9C%A8%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6%E4%B8%AD%E4%BF%9D%E7%95%99%E4%BB%A3%E7%A0%81%E9%AB%98%E4%BA%AE%EF%BC%9F.png)
例如,当使用 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
更多详细信息。