是否有一种方法为cat的输出着色,就像grep那样。
对于grep,在大多数控制台中,它会显示一个彩色输出,突出显示搜索的关键字。否则,你可以通过调用grep——color来强制执行 是否有一种通用的方法来根据您的个人选择为任何程序的输出着色。
据我所知,程序本身并不负责颜色。它是壳。
我正在使用FreeBSD 5.2.1中的默认shell,它看起来像从epoch以来从未见过颜色。
是否有一种方法为cat的输出着色,就像grep那样。
对于grep,在大多数控制台中,它会显示一个彩色输出,突出显示搜索的关键字。否则,你可以通过调用grep——color来强制执行 是否有一种通用的方法来根据您的个人选择为任何程序的输出着色。
据我所知,程序本身并不负责颜色。它是壳。
我正在使用FreeBSD 5.2.1中的默认shell,它看起来像从epoch以来从未见过颜色。
当前回答
如果你只想用一行代码将cat输出设置为给定的颜色,你可以追加
几只猫=“回音非code' | cat - "
致你的~/。rc (basename壳美元)
这里有一个颜色代码的要点:https://gist.github.com/chrisopedia/8754917
我喜欢“\e[1;93m”,它是高强度的黄色。它是这样的:
其他回答
选项:
侏儒化是好的。我有一个别名:
alias c='pygmentize -g'
但高光是另一种广泛使用的选择
alias cats='highlight -O ansi --force'
安装:
你可能必须使用以下方法之一来安装pyments:
sudo apt install python-pygments
sudo pip install pygments
sudo easy_install Pygments #for Mac user
和突出包,这是很容易在所有发行版
sudo apt install highlight
sudo yum install highlight
Bitbucket回购:https://bitbucket.org/birkenfeld/pygments-main GitHub镜像:https://github.com/sglyon/pygments
在行动:
我在下面附上了两者的照片,以便在高亮部分进行比较
以下是pygmentize的作用:
这是重点:
在这个问题中,https://superuser.com/questions/602294/is-there-colorizer-utility-that-can-take-command-output-and-colorize-it-accordin grcat/grc工具被推荐作为超级猫的替代品。
人是有真才实学的;它是GRC包的一部分(来源):
GRC -通用着色剂grcat的前端(1) Grcat -从标准输入读取,着色并写入标准输出
这个问题非常古老,但我还是无意中发现了它。为了完整起见,问题是“是否有一种方法让cat对其输出进行着色?”是的,对于ansi编码的输出,你可以将这些导出添加到你的.bashrc:
# colorful less output
export LESS_TERMCAP_mb=$'\e[1;32m'
export LESS_TERMCAP_md=$'\e[1;32m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_so=$'\e[01;33m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[1;4;31m'
这将使ansi编码文本的输出上色,如terraform plan:
然而,这与bat不同,bat可以更好地解析json,显示行号,通常用户体验更好。
2018年4月底起:
Bat -一个带有语法高亮显示和Git集成的猫(1)克隆。
该项目是一个cat克隆,支持用Rust编写的颜色和自定义。它不仅提供了多个主题的语法高亮显示,还提供了Git集成。如文档所述:
Bat努力实现以下目标: 提供漂亮、高级的语法高亮显示 与Git集成以显示文件修改 是(POSIX)猫的临时替代品 提供用户友好的命令行界面
不用说,它比pygmentize快得多,并且在面对大文件时不会阻塞。
源代码和二进制版本+安装说明可以在Github存储库中找到,以及与替代程序的比较。
source-highlight
也许可以找到GNU下发布的有趣的source-highlight:一个不同于highlight的包。
摘自apt-cache show source-highlight:
描述- zh:将源代码转换为语法突出显示的文档。 给定一个源文件,这个程序将生成一个具有语法的文档 突出显示。 它支持超过100种文件格式的语法高亮显示… 输出支持以下格式:HTML、 XHTML, LaTeX, Texinfo, ANSI颜色转义序列和DocBook
我做了一些别名(Cat和PCat,见下文),这是他们的输出
你可以安装在Debian的基础上
sudo apt-get install source-highlight
并将其添加为别名,例如在.bash_aliases中添加如下所示的代码。
alias Cat='source-highlight --out-format=esc -o STDOUT -i'
Cat myfile.c # or myfile.xml ...
或者你可以做一个类似的别名(没有-iat在结尾,以便管道的可能性)
alias PCat='source-highlight --out-format=esc -o STDOUT '
tail myfile.sh | PCat # Note the absence of the `-i`
在可能从man source-highlight读取的选项中,-s下划线可以通过命令行选择或强制突出显示,或者将此任务留给程序:
-s,——src-lang=STRING源语言(使用——lang-list获取完整的列表)。如果未指定,则将根据文件扩展名猜测源语言。 ——lang-list 列出所有支持的语言和相关的语言定义文件