是否有一种方法可以对cat的输出进行着色,就像grep那样。
对于grep,它在大多数控制台中显示一个突出显示搜索关键字的彩色输出。否则,您可以通过调用grep --color来强制它,有一种通用的方法可以根据您的个人选择对任何程序的输出进行着色。
据我所知,程序本身并不负责颜色。是贝壳。
我在FreeBSD 5.2.1中使用默认的shell,看起来它从没有见过颜色。
发布于 2011-10-21 22:03:41
带有语法突出显示的cat根本超出了范围。cat并不是用来实现这个目的的。如果您只想以某种方式对某个文件的整个内容进行着色(整个文件的颜色相同),则可以使用终端转义序列来控制颜色。
下面是一个示例脚本,它将根据文件类型选择颜色(您可以使用类似的内容,而不是直接调用cat ):
#!/bin/bash
fileType="$(file "$1" | grep -o 'text')"
if [ "$fileType" == 'text' ]; then
echo -en "\033[1m"
else
echo -en "\033[31m"
fi
cat $1
echo -en "\033[0m"以上内容(在支持转义序列的终端上)将将任何文本文件打印为“粗体”,并将任何二进制文件打印为红色。您可以使用strings而不是cat来打印二进制文件,并且可以增强逻辑,使其适合您的需要。
发布于 2013-02-10 16:16:56
我会从python包python-pygments中推荐python-pygments。您可能想要定义以下方便的别名(除非您使用了氪t包中的ccat )。
alias ccat='pygmentize -g'

如果你想要电话号码:
alias ccat='pygmentize -g -O style=colorful,linenos=1'将上述命令中的一条添加到~/.bash_aliases中以获得永久效果
发布于 2014-12-16 09:38:11
选项:
化脓性很好。我有个化名:
alias c='pygmentize -g'但是突出显示是另一个广泛可用的替代方案
alias cats='highlight -O ansi --force'安装:
您可能必须使用以下其中之一安装pygments:
sudo apt install python-pygments
sudo pip install pygments
sudo easy_install Pygments #for Mac user对于highlight包,它在所有发行版上都很容易获得。
sudo apt install highlight
sudo yum install highlight在行动中:
我把下面两张照片贴在一起,以便在高光方面进行比较。
下面是pygmentize的实际操作:

这是highlight:

https://stackoverflow.com/questions/7851134
复制相似问题