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

2024-01-09 17:49:27

简介

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 的代码搜索工具。它的主要特点是速度非常快,并使用了高度优化的算法进行搜索,特别适用于大型代码库或文本文件的搜索。

进一步阅读

X-CMD 官网

文章来源:https://blog.csdn.net/edwinjhlee/article/details/135482164
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。