`cat` 可以使用彩色代码标记显示文件吗?

`cat` 可以使用彩色代码标记显示文件吗?

有时我想从命令行快速查看文件的内容。为此我当然使用cat,但它通常是源文件PythonJava或简单HTML。对于这些文件,如果可以给文件添加一些颜色标记会很方便cat,这样读取起来就更容易了。

cat做出这样的事吗?

答案1

cat无法做到这一点。然而,也许色素也许能帮到你。这是一个 Python 脚本,可以通过 apt-get 安装

sudo apt-get install python-pygments

或通过 easy_install 轻松下载并安装。

它支持大量源代码语言以及标记语言

它被使用

pygmentize -g <filename>

答案2

不是从cat本身开始,但你可以使用类似来源亮点 或者超级猫或者强调

来源突出显示

该程序根据给定的源文件生成带有语法高亮的文档。它还提供了一个 C++ 高亮库(新)(自 3.0 版起)。

Source-highlight 动态读取源语言规范,因此可以轻松扩展(无需重新编译源代码)以处理新语言。它还动态读取输出格式规范,因此可以轻松扩展(无需重新编译源代码)以处理新的输出格式。这些规范的语法非常简单(请查看手册)。

安装手册:

请参阅文件 INSTALL 以获取详细的构建和安装说明;无论如何,如果您习惯于编译源代码附带的 Linux 软件,您可以简单地按照通常的步骤进行,即,将下载的文件解压到目录中,然后:

 cd <source code main directory>
 ./configure
 make
 make install

超级猫

这是 Supercat 的主页。Supercat 是一款根据匹配的正则表达式/字符串/字符对文本进行着色的程序。Supercat 支持 html 输出以及标准 ASCII 文本。与现有的一些文本着色程序不同,Supercat 不需要您必须是程序员才能制定着色规则。

如果您已经为标准文件类型编写了 supercat 配置文件,请随时通过“bug-spc (at) nosredna (dot) net”与我联系,以便将其纳入 supercat 发行版中。

或者功能来源):

#!/bin/bash#!/bin/bash
if [ ! -t 0 ];then
        file=/dev/stdin
elif [ -f $1 ];then
        file=$1
else
        echo "Usage: $0 code.c"
        echo "or e.g. head code.c|$0"
        exit 1
fi
pygmentize -f terminal -g $file

要求:皮格门特斯sudo apt-get install python-pygments python3-pygments)将其作为函数添加到 bash .functions 中,并为其命名,如 color()

答案3

从这个答案来看这里,您可以使用python-pygments包来突出显示内容。首先执行以下操作:

sudo apt-get install python-pygments python3-pygments

然后:

pygmentize -g FILENAME

然后尝试一下:

在此处输入图片描述

您还可以将其设置为别名,就像我链接的答案一样 - 基本上,运行这个:

echo "alias catc='pygmentize -g'" >> ~/.bash_aliases 
chmod +x ~/.bash_aliases

关闭终端,再次打开,命令catc现在应该可以工作了——如果不行,请确保.bashrc文件中有以下几行,并且取消注释:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

另一件事就是使用nano

nano testfile

在此处输入图片描述

答案4

你可以退房催化裂化装置

它为输出文件添加语法高亮。

相关内容