在类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