有一个方法来着色cat的输出,grep的方式。
对于grep,在大多数控制台中,它显示一个彩色输出,突出显示搜索的关键字。否则,您可以通过调用grep –color强制它
是否有一种通用的方法来根据您的个人选择对任何程序的输出进行着色。
从我的理解,程序本身不负责的颜色。它是壳。
我使用FreeBSD 5.2.1中的默认shell,看起来像从来没有见过颜色。
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"
上面(在支持那些转义序列的终端上)将打印任何文本文件作为’bold’,并将打印任何二进制文件为红色。您可以使用字符串而不是cat来打印二进制文件,您可以增强逻辑,使其适合您的需要。