是否有一种方法为cat的输出着色,就像grep那样。
对于grep,在大多数控制台中,它会显示一个彩色输出,突出显示搜索的关键字。否则,你可以通过调用grep——color来强制执行 是否有一种通用的方法来根据您的个人选择为任何程序的输出着色。
据我所知,程序本身并不负责颜色。它是壳。
我正在使用FreeBSD 5.2.1中的默认shell,它看起来像从epoch以来从未见过颜色。
是否有一种方法为cat的输出着色,就像grep那样。
对于grep,在大多数控制台中,它会显示一个彩色输出,突出显示搜索的关键字。否则,你可以通过调用grep——color来强制执行 是否有一种通用的方法来根据您的个人选择为任何程序的输出着色。
据我所知,程序本身并不负责颜色。它是壳。
我正在使用FreeBSD 5.2.1中的默认shell,它看起来像从epoch以来从未见过颜色。
当前回答
有彩色版本的猫(他们的名字很难谷歌,除非你附加寻呼机和github或猫的替代品)。
bat[锈痕]https://github.com/sharkdp/bat (actively维护) ccat [golang] https://github.com/jingweno/ccat/
bat和ccat都是本地二进制文件,几乎和/bin/cat一样快,不像基于python的解决方案,比如pygmentze。
安装蝙蝠
MacOS: brew install bat Linux: apt install bat Windows: choco install bat 二进制文件:https://github.com/sharkdp/bat/releases 从源代码构建:货物安装—锁定蝙蝠(需要货物,生锈的构建工具)
更多操作系统请参见https://github.com/sharkdp/bat#installation
安装 ccat
获取Linux/Windows/macOS的二进制文件,例如将ccat复制到/usr/local/bin。 Mac: brew install ccat
如果你的平台没有二进制文件(例如树莓派等),那么你可以从源代码安装(需要golang环境):
go get -u github.com/jingweno/ccat
# NOTE: as of Go 1.18 instead of 'go get xyz' use 'go install xyz', e.g.
go install github.com/jingweno/ccat@latest
混叠到猫
bat的ootb配置显示行号,并进行分页,这是我不需要的,所以我用别名禁用了我不想要的功能:
加上你的~/。bashrc(~(/。zshrc等):
alias cat="bat --paging=never -pp --style='plain' --theme=TwoDark $*"
美国小妞ccat:
alias cat="ccat $*"
在你需要纯猫的情况下,你仍然可以通过绝对路径调用它:
/bin/cat /etc/hosts
其他回答
Vimcat是单文件(shell脚本),工作良好:
http://www.vim.org/scripts/script.php?script_id=4325
最近一次更新是2013年12月。提示:你可以通过vimcat -c "set ft=<type>"强制文件类型识别。
我推荐使用python包python- pyptions中的pygmentize。您可能需要定义以下方便的别名(除非您使用ccrypt包中的ccat)。
alias ccat='pygmentize -g'
如果你想要行号
alias ccat='pygmentize -g -O style=colorful,linenos=1'
向~/添加上述命令中的一个。bash_别名永久生效
在这个问题中,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 -从标准输入读取,着色并写入标准输出
2018年4月底起:
Bat -一个带有语法高亮显示和Git集成的猫(1)克隆。
该项目是一个cat克隆,支持用Rust编写的颜色和自定义。它不仅提供了多个主题的语法高亮显示,还提供了Git集成。如文档所述:
Bat努力实现以下目标: 提供漂亮、高级的语法高亮显示 与Git集成以显示文件修改 是(POSIX)猫的临时替代品 提供用户友好的命令行界面
不用说,它比pygmentize快得多,并且在面对大文件时不会阻塞。
源代码和二进制版本+安装说明可以在Github存储库中找到,以及与替代程序的比较。
只需使用vim和这个vimrc文件。
oneliner:
vim -c '1' -c 'set cmdheight=1' -c 'set readonly' -c 'set nomodifiable' -c 'syntax enable' -c 'set guioptions=aiMr' -c 'nmap q :q!<CR>' -c 'nmap <Up> <C-Y>' -c 'nmap <Down> <C-E>' -c 'nmap ^V <C-F><C-G>' "$@"
Nano -v也可能是一种替代方案。