x-cmd pkg | bat: cat 命令现代化替代品,终端用户必备工具

news2024/9/23 4:07:29

目录

    • 简介
    • 快速上手
      • 安装
      • 使用
      • 与第三方工具组合使用
    • 功能特点
    • 竞品和相关作品
    • 进一步阅读

简介

bat 是由 github.com/sharkdp 用 Rust 开发的 cat 命令现代化替代品。它比 cat 命令扩展了更多的现代化功能,如语法高亮、自动分页、Git集成等,能为用户提供更为友好的显示和定制化选项,特别适合需要在终端中频繁查看文件内容的用户。

在这里插入图片描述

快速上手

安装

eval "$(curl https://get.x-cmd.com)"        # 安装 x-cmd
x env use bat                               # 使用 x-cmd 安装 bat

使用

  1. 从 stdin 读取内容。bat 会根据内容第一行的 shebang 标记(如 #!bin/sh)识别输入内容的语言,并自动为内容添加语法高亮。

    curl -s https://sh.rustup.rs | bat
    
  2. 从一个文件或多个文件中读取内容。

    bat README.md
    bat header.md content.md footer.md
    bat src/*.rs
    
  3. 常用功能选项,如去除样式、禁用分页器、显式指定内容的语言、仅显示行号和内容等。

    x ascii | bat --style plain  # 去除样式
    x ascii | bat -P             # 禁用分页器
    x ascii | bat -l csv         # 显式指定内容的语言
    x ascii | bat -n             # 仅显示行号和内容
    x ascii | bat -A             # 不可打印(non-printable)字符可视化
    

与第三方工具组合使用

  1. 作为 fzf 的预览器,如:fzf --preview 'bat --color=always -n --line-range=:500 {}'

  2. 预览 findfd 搜索的文件,如:find . -type f -exec bat {} +

  3. git diff 提供一个适合快速预览的内容:

    batdiff() {
        git diff --name-only --diff-filter=d | xargs bat --diff
    }
    batdiff
    

功能特点

  1. 语法高亮:支持 170 多种编程和标记语言的语法高亮,使用 --list-languages-L 命令选项可查看其支持的语言。
  2. 自动分页:当输出内容大于屏幕可显示范围时,会使用分页器分页显示内容,避免一次性显示大量文本导致屏幕滚动不可控。
  3. 智能输出:当 bat 检测到当前环境为非可交互终端或管道时,会一次性以纯文本形式将所有内容输出,类似于 cat
  4. 集成 Git: 默认与 Git 集成,能指示 Git 仓库的文件中被修改的部分内容。
  5. 个性化设置:内置多种主题可,使用 --list-themes 命令选项可以列出所有可用的主题和预览主题样式。
  6. 跨平台性:能在主流平台上安装和运行,如 Windows、Linux、MacOS。

竞品和相关作品

  1. cat:用于读取文件或 stdin 的内容并写入到 stdout 的工具,是标准的 Unix 实用程序。
  2. zcat:用于查看压缩文件内容的工具,专门用于处理经过 gzip 压缩的文件(即 .gz 文件),能在不将文件解压到磁盘的情况下读取压缩文件内容并写入到 stdout。
  3. eth-p/bat-extras:将 bat 与各种命令行工具集成的 Bash 脚本。

进一步阅读

  • bat 源代码 - bat 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 bat 和参与社区贡献。
  • bat 与相关程序的比较 - 由 bat 官方给出的 bat 同类程序对比表格,可据此寻找像 bat 这样的程序。

更多内容请查阅 : pkg/bat

转载请标明原文链接 :https://www.x-cmd.com/pkg/bat


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2156498.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python如何跨文件调用自己定义的函数

当自己定义函数过多时,只有一个python文件时代码会很长,不易理清代码框架,比如下面这段代码,如何隐藏具体函数细节呢?也就是把def函数放到另外一个python文件里步骤如下: 一个python文件代码篇幅过长 imp…

结构体对齐、函数传参、库移植

结构体字节对齐 按固定位大小匹配地址&#xff0c;a:10b:1020位 <32位4字节 202040位>32位 所以ab20作为一个int型&#xff0c;int c:20 单独做4个字节&#xff08;int&#xff09; 101020 &#xff08;int&#xff09;4个字节 &#xff0c;20&#xff08;int&#x…

算法之逻辑斯蒂回归(Logistic regression)

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正。 逻辑斯蒂回归&#xff08;Logistic Regression&#xff09;是统计学中一种广泛应用于二分类问题的算法。它的主要目标是预测二分类问题中的事件发生的概率。尽管名字里有“回归”&#xff0c;但逻…

wordpress迁移到别的服务器

wordpress论坛网站搭建 于2023/11/16写的该文章 一-配置环境 配置LNMP&#xff08;linuxnginxmysqlphpphpmyadmin&#xff09;环境或者LAMP&#xff08;apache&#xff09; 可以选择集成了这些软件的套件 下载链接&#xff1a;https://www.xp.cn/download.html 手动下载这…

https加密原理

以为http的数据都是以明文传送&#xff0c;会有很大的安全问题&#xff0c;所以出现的https协议。https就是在http协议的基础上增加了一个安全层&#xff0c;可以对数据进行加密和解密(例如SSL、TLS等)。 https加密解密的原理&#xff1a;证书非对称加密对称加密 在讲解原理前…

Python爬虫之urllib模块详解

Python爬虫入门 此专栏为Python爬虫入门到进阶学习。 话不多说&#xff0c;直接开始吧。 urllib模块 Python中自带的一个基于爬虫的模块&#xff0c;其实这个模块都几乎没什么人用了&#xff0c;我就随便写写了。 - 作用&#xff1a;可以使用代码模拟浏览器发起请求。&…

2024 年最新前端ES-Module模块化、webpack打包工具详细教程(更新中)

模块化概述 什么是模块&#xff1f;模块是一个封装了特定功能的代码块&#xff0c;可以独立开发、测试和维护。模块通过导出&#xff08;export&#xff09;和导入&#xff08;import&#xff09;与其他模块通信&#xff0c;保持内部细节的封装。 前端 JavaScript 模块化是指…

【Pytorch】一文快速教你高效使用torch.no_grad()

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 博主简介 博主致力于嵌入式、Python、人工智能、C/C领域和各种前沿技术的优质博客分享&#xff0c;用最优质的内容带来最舒适的…

2024年中国研究生数学建模竞赛A/C/D/E题全析全解

问题一&#xff1a; 针对问题一&#xff0c;可以采用以下低复杂度模型&#xff0c;来计算风机主轴及塔架的疲劳损伤累积程度。 建模思路&#xff1a; 累积疲劳损伤计算&#xff1a; 根据Palmgren-Miner线性累积损伤理论&#xff0c;元件的疲劳损伤可以累积。因此&#xff0c;…

基于SpringBoot+Vue的商城积分系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目源码、Python精…

手机在网状态查询接口如何用C#进行调用?

一、什么是手机在网状态查询接口&#xff1f; 手机在网状态查询接口是利用实时数据来对手机号码在运营商网络中的状态进行查询的工具&#xff0c;包括正常使用状态、停机状态、不在网状态、预销户状态等。 二、手机在网状态查询适用哪些场景&#xff1f; 例如&#xff1a;商…

【线程池】ThreadPoolExecutor应用

ThreadPoolExecutor应用 每一步的坚持与积累,都是铸就高薪和大牛的必经的修炼 哈哈,不吹牛逼了,今天来分享最近在提升中的学习总结,无论是对在职场还是求职,看完,我相信都会有些许的收获和成长 也难得过了一个悠闲点的周末,哈哈哈,一起奥利给!! 本文总纲: 1.为什么要自定义线程…

联合体的用法和用联合体判断大小端存储

像结构体⼀样&#xff0c;联合体也是由⼀个或者多个成员构成&#xff0c;这些成员可以不同的类型。但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所 以联合体也叫&#xff1a;共⽤体。 给联合体其中⼀个成员赋值&#xff0c;其他成…

Linux 文件系统(下)

目录 一.文件系统 1.文件在磁盘上的存储方式 a.盘面、磁道和扇区 b.分区和分组 2.有关Block group相关字段详解 a.inode编号 b.inode Table&#xff08;节点表&#xff09; c.Data blocks&#xff08;数据区&#xff09; d.小结 二.软硬链接 1.软链接 a.软链接的创建…

SystemExit: 系统退出异常的完美解决方法⚙️

&#x1f6aa;SystemExit: 系统退出异常的完美解决方法⚙️ &#x1f6aa;SystemExit: 系统退出异常的完美解决方法⚙️摘要引言正文1. 什么是SystemExit异常&#xff1f;&#x1f4dc;2. 捕获SystemExit&#xff1a;是否应该这样做&#xff1f;⚠️3. 正确处理SystemExit的最…

javase复习day30综合练习

制造假数据 制造数据 练习一 package Demo1;import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; im…

上海数科(北京)律师事务所开业庆典圆满举行

金秋送爽&#xff0c;丹桂飘香。2024年9月22日&#xff0c;数智科技焕新启航主题论坛暨上海数科&#xff08;北京&#xff09;律师事务所&#xff08;以下简称“数科北京”&#xff09;开业庆典在北京中海广场中楼隆重举行。 庆典现场星光熠熠&#xff0c;汇聚了来自法律界、科…

程序员的AI时代:拥抱变革,塑造未来

你们有没有想过&#xff0c;如果有一天&#xff0c;你的编程工作被一个AI助手取代了&#xff0c;你会怎么办&#xff1f;这不是危言耸听&#xff0c;随着AIGC技术的飞速发展&#xff0c;这样的场景可能真的会出现。但是&#xff0c;别担心&#xff0c;今天我们就来聊聊&#xf…

云栖通道看AI产业应用,打开大模型的无限可能

9月19日-21日&#xff0c;2024云栖大会在杭州西湖区云栖小镇举行。20日&#xff0c;云栖通道如约开放。 这是一个为广大AI产业从业者、创业者以及大模型开发者提供的专属交流平台。来自教育、智能体应用、智能驾驶、人形机器人等多个AI应用领域的科学家、开发者、技术代表等现…

AI客服对决:智能客服PK赛揭示企业级AI应用未来

如今的AI对抗场景&#xff0c;简直成了颇具娱乐性的“观赏项目”。围观群众们不仅看得津津有味&#xff0c;时不时还会发出阵阵笑声。 最近&#xff0c;一场别开生面的AI客服挑战赛引发了热议&#xff1a;一位使用“花开富贵”阿姨人设的Agent甩出一条链接&#xff0c;结果对面…