ripgrep命令大全:100个常用参数速查手册

ripgrep命令大全:100个常用参数速查手册

【免费下载链接】ripgrep ripgrep recursively searches directories for a regex pattern while respecting your gitignore 【免费下载链接】ripgrep 项目地址: https://gitcode.com/gh_mirrors/ri/ripgrep

你还在为记不住ripgrep的参数而烦恼吗?作为一款超高速的命令行搜索工具,ripgrep(简称rg)拥有大量实用参数,却常常让新手望而却步。本文整理了100个最常用参数,从基础搜索到高级过滤,从输出控制到性能优化,助你轻松掌握这个比grep快10倍的效率神器。

基础搜索参数

模式指定

  • -e <PATTERN>, --regexp <PATTERN>: 指定搜索模式(正则表达式)。当模式以-开头时必须使用,如rg -e "-v" crates/core/flags/defs.rs
  • -F, --fixed-strings: 将模式视为纯文本而非正则表达式,如rg -F "fn main()" GUIDE.md
  • -f <FILE>, --file <FILE>: 从文件读取多个搜索模式,每行一个模式 crates/core/flags/defs.rs

大小写控制

文件过滤参数

包含/排除

  • -g <GLOB>, --glob <GLOB>: 使用glob模式过滤文件,支持!否定,如rg -g "*.rs" -g "!target/" GUIDE.md
  • -t <TYPE>, --type <TYPE>: 只搜索指定类型的文件,如rg -trust "fn main"搜索Rust文件 GUIDE.md
  • -T <TYPE>, --type-not <TYPE>: 排除指定类型的文件,如rg -Tjs "function"排除JavaScript文件 crates/core/flags/defs.rs
  • --type-add <TYPE:GLOB>: 自定义文件类型,如rg --type-add "web:*.{html,css,js}" -tweb "title" GUIDE.md

忽略规则

  • --no-ignore: 不忽略任何文件(不遵守.gitignore等规则) GUIDE.md
  • -u, --unrestricted: 逐步解除限制,-u不忽略.gitignore,-uu包含隐藏文件,-uuu搜索二进制文件 GUIDE.md
  • -., --hidden: 搜索隐藏文件和目录 crates/core/flags/defs.rs
  • --no-ignore-vcs: 不忽略版本控制忽略的文件(如.gitignore内容) crates/core/flags/defs.rs

输出控制参数

显示格式

上下文显示

输出模式

高级搜索参数

正则特性

替换与转换

  • -r <REPLACEMENT>, --replace <REPLACEMENT>: 替换匹配文本并输出,如rg "old" -r "new" GUIDE.md
  • --replace-separator <SEP>: 设置替换时的字段分隔符 crates/core/flags/defs.rs

性能与限制

实用场景示例

日常搜索任务

# 基本文本搜索
rg "hello world"

# 搜索并显示行号和上下文
rg -n -A1 -B1 "error" src/

# 只显示文件名和匹配行数
rg -c "TODO"

# 搜索特定类型文件
rg -tpy "def "  # Python文件中的函数定义
rg -tmd "# "    # Markdown文件中的标题

高级过滤技巧

# 排除目录
rg "secret" --glob "!{node_modules,.git}/"

# 多条件搜索
rg -e "error" -e "warning"  # 搜索error或warning

# 区分大小写智能搜索
rg --smart-case "RIPGREP"  # 全大写模式会大小写敏感

# 自定义文件类型
rg --type-add "conf:*.{ini,conf}" -tconf "server"

输出处理

# 统计代码行数
rg -tpy -o -c ""  # 计算Python文件总行数

# 提取匹配内容并去重
rg -oE "\b\w+@example\.com\b" | sort | uniq

# JSON格式输出(便于后续处理)
rg --json "pattern" | jq '.data.lines.text'

参数速查表

类别参数说明
基础rg <PATTERN>基本搜索
-e <PATTERN>指定模式
-F纯文本搜索
过滤-g <GLOB>文件匹配模式
-t <TYPE>指定文件类型
-u解除限制(逐步)
输出-n显示行号
-A/-B/-C上下文行数
-l仅显示文件名
高级-PPCRE2正则
-r替换输出
-j指定线程数

掌握这些参数,你就能充分发挥ripgrep的强大功能,轻松应对各种搜索场景。更多详细信息可参考官方文档:GUIDE.mdREADME.md。现在就开始用ripgrep提升你的工作效率吧!

【免费下载链接】ripgrep ripgrep recursively searches directories for a regex pattern while respecting your gitignore 【免费下载链接】ripgrep 项目地址: https://gitcode.com/gh_mirrors/ri/ripgrep

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值