在类Unix系统中,“ cat”命令用于打印和连接文件。使用cat命令,我们可以将文件的内容打印到标准输出中,将多个文件合成为一个目标文件,然后将几个文件附加到目标文件中。
近日,我偶然发现了一个名为“ Bat”的实用程序,一听这名字是不是就觉得有点高端大气上档次。
其实,它是cat命令的克隆,有很多很酷的功能,例如语法高亮,git集成和自动分页等。目前,bat在Github上标星21.7K,累计分支463(Github地址:https://github.com/sharkdp/bat)
功能特性
(1) 语法高亮显示
bat支持大量编程和markup语言的语法高亮显示:
(2) Git集成
bat与git沟通,显示关于修改的索引 (参见左侧栏) :
(3) 自动分页
当文件的输出对于屏幕来说太大的时候,bat 命令自动将自己的输出内容传输到 less 命令中,所以你可以一页一页的查看输出内容。
2. 如何使用bat
Bat可以直接在终端显示单个文件:
- > bat README.md
一次显示多个文件:
- > bat src/*.rs
从stdin读取,自动确定语法,通常通过诸如shebang来确定#!/bin/sh:
- > curl -s https://sh.rustup.rs | bat
从标准输入中读取,明确指定语言:
- > yaml2json .travis.yml | json_pp | bat -l json
高亮无法输出的字符:
- > bat -A /etc/hosts
作为cat的替代品:
- bat > note.md # quickly create a new file
- bat header.md content.md footer.md > document.md
- bat -n main.rs # show line numbers (only)
- bat f - g # output 'f', then stdin, then 'g'.
关于bat的安装方式也有很多种,你可以在Arch Linux的默认软件源中获取,在 Debian、Ubuntu、Linux Mint等系统中,从其发布页面下载 .deb 文件,然后用通过指定命令安装。如果是其他系统你也可以从软件源编译安装,具体查看项目说明详情。
最后附上中文翻译的bat项目地址:https://github.com/chinanf-boy/bat-zh