bat - “有翅膀的克隆猫”

bat - a cat clone with wings

Posted by sysin on 2021-07-17
Estimated Reading Time 3 Minutes
Words 811 In Total
更新日期:Sat Jul 17 2021 11:03:59 GMT+0800,阅读量:

请访问原文链接:bat - “有翅膀的克隆猫” 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


bat-logo-header

简介

bat - a cat clone with wings,这里直译就是 “有翅膀的克隆猫” 😄。

有人翻译为 “一只会飞的猫”。

cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。即用于创建、查看、连接文件。

bat 是一个 cat 的克隆,支持语法高亮显示和 Git 集成。是用于替代 cat 和增强型的 cat 命令 (sysin)。

项目主页:https://github.com/sharkdp/bat

语法高亮

bat 支持大量编程和标记语言的语法高亮(具体参看 changelog,也可以自定义语法支持或者向作者提交请求):

Syntax highlighting example

Git 集成

bat 可以与 git 通信显示对索引的修改(见左侧栏):

Git integration example

显示不可打印的字符

您可以使用 -A/--show-all 选项来显示和突出显示不可打印的字符:

Non-printable character example

自动分页

默认情况下,如果输出对于一个屏幕显示太大,bat 将控制自己的输出管道(例如 less)。如果你希望 bat 一直像 cat 一样工作(从不页面输出),你可以在命令行或配置文件中设置 --paging=never 作为一个选项。如果你打算在你的 shell 配置中将 cat 别名为 bat,你可以使用 alias cat='bat --paging=never' 来保留默认行为 (sysin)。

文件连接

即使设置了分页选项,您仍然可以使用 bat 来连接文件😉。每当 bat 检测到非交互式终端(即,当你通过管道进入另一个进程或文件时),bat 将作为 cat 的替代品并回退到打印纯文件内容,不管 --pager 选项的值。

安装

macOS

1
brew install bat

FreeBSD

1
pkg install bat

和绝大多数情况一样,Unix 上自带的软件包往往版本是很新的,Linux 却常常是旧版或者没有自带。

Ubuntu

可以访问 Release 页面获取最新版:

1
2
wget https://github.com/sharkdp/bat/releases/download/v0.21.0/bat_0.21.0_amd64.deb
dpkg -i bat_0.21.0_amd64.deb

apt 方式安装不推荐:

1
2
apt install bat
# 注意:安装后的命令是 batcat,且版本比较旧

CentOS

1
2
3
4
5
6
wget https://github.com/sharkdp/bat/releases/download/v0.21.0/bat-v0.21.0-x86_64-unknown-linux-musl.tar.gz
tar -zxvf bat-v0.21.0-x86_64-unknown-linux-musl.tar.gz
cd bat-v0.21.0-x86_64-unknown-linux-musl
cp ./bat /usr/local/bin
cp ./bat.1 /usr/local/share/man/man1/
mandb

更多的二进制格式和源码安装参看项目主页

使用说明

可以配置别名直接用 bat 替代 cat

  • bash
1
echo 'alias cat="bat"' >> ~/.bashrc
  • zsh
1
echo 'alias cat="bat"' >> ~/.zshrc

以下是一些示例:

  • 在终端上显示单个文件
1
bat README.md
  • 一次显示多个文件
1
bat src/*.rs
  • 从 stdin 读取, 自动检测语法
1
curl -s https://sh.rustup.rs | bat
  • 从 stdin 读取, 明确指定语言
1
yaml2json .travis.yml | json_pp | bat -l json
  • 显示并高亮不可打印的字符:
1
bat -A /etc/hosts
  • 作为 cat 的替代品:
1
2
3
4
5
6
7
bat > note.md  # 创建一个新文件

bat header.md content.md footer.md > document.md # 合并文件

bat -n main.rs # 展示行数 (only)

bat f - g # 先输出'f', 之后是 stdin, 之后是'g'.

捐助本站 ❤️ Donate

点击访问官方网站


文章用于推荐和分享优秀的软件产品及其相关技术,所有软件默认提供官方原版(免费版或试用版),免费分享。对于部分产品笔者加入了自己的理解和分析,方便学习和研究使用。任何内容若侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有所帮助,或者发现有不当之处,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!

支付宝赞赏 微信赞赏

赞赏一下


☑️ 评论恢复,欢迎留言❗️
敬请注册!点击 “登录” - “用户注册”(已知不支持 21.cn/189.cn 邮箱)。请勿使用联合登录(已关闭)