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

news/2025/2/12 8:53:00/

目录

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

简介

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.ppmy.cn/news/1297913.html

相关文章

【Huggingface】如何访问Huggingface,Huggingface镜像

镜像站: https://hf-mirror.com/本站域名 hf-mirror.com,用于镜像 huggingface.co 域名。 更多用法(多线程加速等)详见这篇文章。简介: 方法一:使用huggingface 官方提供的 huggingface-cli 命令行工具。…

基于JavaWeb+SSM+Vue四六级词汇微信小程序系统的设计和实现

基于JavaWebSSMVue四六级词汇微信小程序系统的设计和实现 源码获取入口KaiTi 报告Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 KaiTi 报告 (1)课题背景 伴随着社会的快速发展, 现代社…

使用Go语言编写高效的HTTP服务器

随着互联网的快速发展,HTTP服务器在Web开发中扮演着越来越重要的角色。而Go语言作为一种高效、并发性强的编程语言,为编写高性能的HTTP服务器提供了强大的支持。本文将探讨如何使用Go语言编写高效的HTTP服务器。 首先,我们需要了解Go语言的H…

Dell 机架式服务器 - 高级定制服务

Dell 机架式服务器 - 高级定制服务 1. Dell Technologies2. 机架式服务器 - 高级定制服务2.1. Servers & Storage (服务器及存储) -> Servers2.2. Rack Servers (机架式服务器)2.3. Shop2.4. PowerEdge Rack Servers (PowerEdge 机架式服务器)2.5. PowerEdge R760 Rack …

Vue学习计划-Vue3--核心语法(四)标签的ref属性、props父子通信

1. 标签的ref属性 作用:用于注册模板引用 用在普通DOM标签上,获取的使DOM节点用在组件标签上,获取的是组件实例对象 用在子组件上,父组件想要访问子组件内的数据,需要使用defineExpose暴露 用在普通DOM标签上&#x…

delphi中自定义自己的定时器

最近用上了rpt工具,但是用rpt自带的工具执行起一些定时任务不方便,有些功能不能自主,于是我在delphi中用定时器制作了自己的定时执行程序。 1、首先在窗体中放一个timer对象 2、在窗体的formcreate事件中加入以下关键代码,让定时器…

vue3中使用elementplus中的el-tree-select,自定义显示名称label

<el-tree-select v-model"addPval" node-key"id" :data"menulists" :render-after-expand"false" :props"menuProps" /> <el-divider />let menuProps {//自定义labellabel: (data: { name: any; }) > {ret…

盘点那些主食冻干哪款好?十大放心品质主食冻干推荐

对于我们这些养猫的人来说&#xff0c;每天最关心的就是如何为心爱的猫咪选择一款高品质的猫粮。我们都希望为猫咪提供最好的营养&#xff0c;让它们健康快乐地成长。然而&#xff0c;近期的一些事件&#xff0c;如百利猫粮生虫和VE主食冻干掰开有虫&#xff0c;让我们不得不重…