x-cmd pkg | rg - 文本搜索工具,grep 命令的现代化替代品

news2024/9/22 15:33:44

目录

    • 简介
    • 首次用户
    • 功能特点
    • 竞品和相关作品
    • 进一步阅读

简介

rg(ripgrep) 是一个逐行方式进行( line-oriented )的文本搜索工具,能够递归搜索目录中的文件内容。默认情况下,rg 将遵守 .gitignore 文件规则自动跳过隐藏的文件、目录和二进制文件。

首次用户

  1. 使用 x rg 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 rg 命令常用功能的 demo 示例,可以帮你快速上手 rg 。

  3. 使用案例:

    rg-1min-cn

    # 在当前目录下查找包含 imagetext 的所有条目
    x rg imagetext
    
    # 搜索 awk 类型文件中包含 x_cmd 的所有条目
    x rg x_cmd -t awk
    
    # 搜索符合正则表达式 '^[A-Z]' 的 awk 类型文件的所有条目
    x rg '^[A-Z]' -tawk mod/gl
    
    # 把匹配项 `x-cmd` 替换为 `X-CMD`
    x rg x-cmd -tmd --replace X-CMD
    

功能特点

  1. 更为友好的默认配置:
    • 遵循 .gitignore 文件规则,跳过相应的文件目录
    • 以色彩高亮方式显示搜索结果
    • 递归搜索目录中的所有文件(包括子目录的文件)
  2. 可限定搜索的文件类型:
    • 使用 --type python 选项可以让 rg 只在 python 文件中搜索指定文本。
    • 使用 --type-list 列出 rg 支持的所有文件类型和文件扩展名。
  3. 支持搜索非 UTF-8 编码的文件,如 UTF-16、Latin-1、GBK、EUC-JP、Shift_JIS 等。
  4. 支持搜索压缩文件,如 Brotli、bzip2、gzip、lz4、lzma、xz 、zstandard 等。
  5. 支持使用 regex 模式和 PCRE2 正则表达式。

竞品和相关作品

  1. grep 是一款最常用的命令行文本搜索工具,可用于在文件中查找指定内容的文本行。它是 Unix 和类 Unix 操作系统的标准工具,通常与正则表达式一起使用来进行高级文本搜索。
  2. ack 是一个类似于 grep 的工具,但专门设计用于代码搜索。它默认会忽略版本控制目录和备份文件,并支持多种文件类型。ack 通常用于搜索代码库中的文本,侧重于代码搜索。
  3. silver(The Silver Searcher): 类似 ack 的代码搜索工具。它的主要特点是速度非常快,并使用了高度优化的算法进行搜索,特别适用于大型代码库或文本文件的搜索。

进一步阅读

  • rg 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 rg 和参与社区贡献。
  • rg 手册页 - 提供关于 rg 命令行工具的详细信息,包括使用说明、命令选项、示例和其他相关内容。
  • Fast Searching with ripgrep - 该文章介绍了如何使用 rg 进行快速搜索。
  • 您也可以通过阅读 ripgrep 中文文档,更高效率地去学习如何使用 rg 。
  • 您也可以通过阅读 ripgrep: 更快捷的搜索,了解 rg 及其工作原理。
  • CLI text processing with GNU grep and ripgrep - 该文章介绍了如何使用 rg 进行 CLI 文本处理。

X-CMD 官网

  • x-cmd-pkg

  • x-cmd-1min

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

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

相关文章

游戏开发中,你的游戏图片压缩格式使用ASTC了吗

文章目录 ASTC原理:使用要求 ASTC(Adaptive Scalable Texture Compression,自适应可伸缩纹理压缩)是一种高级的纹理压缩技术,由ARM公司开发并推广。它在图形处理领域中因其出色的压缩效率和灵活性而受到广泛关注。 AST…

怎么一边讲PPT一边录视频 如何一边录制PPT一边录制人像 录屏软件免费录屏 PPT录制怎么录制

随着新媒体技术的发展,短视频和直播越来越火。越来越多的小伙伴加入了视频制作的大军,那么你想知道怎么一边讲PPT一边录视频,如何一边录制PPT一边录制人像吗? 一、怎么一边讲PPT一边录视频 我们可以借助PPT本身自带的屏幕录制功能…

rime中州韵小狼毫 随机数 随机码 电脑信息 滤镜

在输入法中支持生成GUID,或者随机数,随机字符,获取自身电脑信息,这将是一个非常酷的功能。 先睹为快 本文所分享滤镜,主要用于生成一些动态的信息词条,效果如下👇: GUID.lua GU…

扫雷游戏(有讲解)

✨欢迎来到脑子不好的小菜鸟的文章✨ 🎈创作不易,麻烦点点赞哦🎈 所属专栏:游戏 我的主页:脑子不好的小菜鸟 引言: 1.数组 2.随机数的生成,我在这篇文章里面详细讲述过:猜数字…

【STM32】STM32学习笔记-串口发送和接收(27)

00. 目录 文章目录 00. 目录01. 串口简介02. 串口相关API2.1 USART_Init2.2 USART_InitTypeDef2.3 USART_Cmd2.4 USART_SendData2.5 USART_ReceiveData 03. 串口发送接线图04. USB转串口模块05. 串口发送程序示例06. 串口发送支持printf07. 串口发送支持printf_v208. 串口发送和…

在线表白网页制作源码,无需数据库,自带网站会员付费

源码介绍 通过在线表白,人们可以以一种浪漫的方式表达自己的感情,只需要填写一些基本信息,就能自动生成精美的表白页面。 为了增加网站的收入,用户可以购买网站会员,以使用指定的网页制作模板。 这个系统无需数据库…

Java中的多线程一

概述 进程 是正在运行的程序 是系统进行资源分配和调用的独立单位每一个进程都有它自己的内存空间和系统资源 线程 进程中的单个顺序控制流,是一条执行路径 单线程: 一个进程如果只有一条执行路径,则称为单线程程序多线程: 一…

编译原理复习笔记--简答题

1、编译过程概述 词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词(也称单词符号,或简称符号)语法分析:在语法分析的基础上将单词序列分解成各类语法短语。语义分析&a…

海外代理IP在游戏中有什么作用?

随着科技的飞速发展,手机和电脑等电子产品已成为互联网连接万物的重要工具,深度融入我们的日常生活,我们借助互联网完成工作、休闲和购物等任务,以求提升生活质量。 不仅如此,网络游戏也是人们心中最爱,它…

Tensorflow2.0笔记 - 创建tensor

tensor创建可以基于numpy,list或者tensorflow本身的API。 笔记直接上代码: import tensorflow as tf import numpy as np import matplotlib.pyplot as plttf.__version__#通过numpy创建tensor tensor0 tf.convert_to_tensor(np.ones([2,3])) print(te…

贯穿设计模式-中介模式+模版模式

样例代码 涉及到的项目样例代码均可以从https://github.com/WeiXiao-Hyy/Design-Patterns.git获取 需求 购买商品时会存在着朋友代付的场景,可以抽象为购买者,支付者和中介者之间的关系 -> 中介者模式下单,支付,发货&#xff0…

Golang中for和for range语句的使用技巧、对比及常见的避坑

前言 基础语法不再赘述,写这个原因是之前的某次面试被问道了,我知道会导致问题但具体答下来不是很通顺。再回想自己开发过程中,很多地方都是使用到了for/for range,但是却从没注意过一些细节,因此专门学习一下进行记录…

手把手教你使用cubemx配置串口

重写fput函数 #include <stdio.h>#ifdef __GNUC__#define PUTCHAR_PROTOTYPE int _io_putchar(int ch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endif /* __GNUC__*//*******************************************************************brief R…

Kubernetes (八) 金丝雀发布

一. 金丝雀发布作用&#xff1a; 金丝雀发布是指在生产环境中逐步推出新版本应用程序&#xff0c;只在一小部分用户或流量中使用该版本&#xff0c;并根据反馈逐步扩…

扩展欧几里得算法总结

知识概览 裴蜀定理&#xff1a;对于任意正整数a&#xff0c;b&#xff0c;一定存在非零整数x&#xff0c;y&#xff0c;使得 而且(a, b)是a和b能凑出来的最小的正整数。 通过扩展欧几里得算法可以求得裴蜀定理中x和y的值&#xff0c;x和y的通解为 &#xff0c; 例题展示 扩展欧…

系列十三、集合

一、集合 1.1、概述 集合与数组类似&#xff0c;只不过集合中的数据量可以动态的变化。 1.2、体系图 1.3、List集合 1.3.1、特点 存放的数据可以重复且有序。 1.3.2、常见操作 /*** List集合常见操作* */ Test public void listOperateTest() {List<String> cityList …

vue3 +TS 安装使用pinia状态管理

目录 一.安装 1.下载安装依赖 2.创建src/stores/index.ts文件 3.创建src/stores/states.ts文件 4.创建src/stores/interface/index.ts文件 5.修改main.ts 6.目录结构如下 7.测试使用 8.去到首页点击按钮&#xff0c;打开控制台查看 一.安装 1.下载安装依赖 npm insta…

逆向数据宽度与符号

正数与负数的 刚好是半 所以 0 表示正数 1表示负数 有符号与无符号是程序员定的 并不是开头是1就表示负数 0表示正数 得看有无符号 双字 32bit 4字节

批量置入视频封面:一分钟教程,简单易学

在视频制作过程中&#xff0c;为视频添加引人注目的封面是吸引观众的关键。而当我们需要批量处理多个视频时&#xff0c;如何快速、准确地置入封面就显得尤为重要。本文将为您揭示这一高效技巧&#xff0c;让您在一分钟内学会批量置入视频封面&#xff0c;提升视频的吸引力与观…

C++学习笔记(二十七):c++ 动态数组vector及优化

c的动态数组vector是STL的内容&#xff0c;关于STL&#xff0c;有兴趣可自行网上搜索资料。本节主要介绍vector的基本内容以及vector的简单优化。vector当超过数组最大范围&#xff0c;需要往里面添加新的元素时&#xff0c;会在内存中创建一个比上一个更大的数组&#xff0c;将…