Linux 下使用更强的ripgrep来搜索
1.Linux环境变量详解2.Linux find命令详解3.Linux lsof命令详解4.Linux grep命令搜索神器详解5.一文吃透Linux htop命令6.Linux stdin、stdout和stderr详解7.Linux ps命令详解(不是PS)8.Linux 著名的sudo、su是什么?怎么用?9.Linux 查看磁盘信息:df与du命令详解10.Linux &&、& 各种操作符困惑? 看此文11.Linux 常用压缩命令全解,一次搞懂通关!12.Linux 硬链接和软链接怎么区分使用?13.推荐一款基于vim的超可扩展文本编辑器neovim14.Linux Systemd基础教程15.Linux rsync命令详解16.C获取程序名称的方法17.Linux ssh 基础教程18.Linux 如何查询命令的二进制文件位置?19.Linux 如何查看当前系统版本的详细信息?20.Linux 用户账户信息配置文件详解21.Linux Debian发行版系统包管理工具使用教程22.Linux dpkg命令详解23.Linux yum 包管理工具使用教程24.Linux sed 命令详解25.Linux awk 命令详解26.Linux dnf 包管理工具使用教程27.Linux netstat 命令详解28.Linux ss 命令详解29.Linux nc 命令详解30.Linux 用户与组基础教程31.Linux firewalld 命令详解32.Linux iptables 命令详解33.Linux 中如何使用Mosquitto MQTT?34.Linux xattr 命令详解35.Linux locate 命令详解36.Linux history 命令详解37.Linux sort 命令详解38.Linux下Certbot使用教程39.Linux ufw 命令详解40.Linux ifconfig ip 命令详解41.Linux setfacl lsattr chattr 命令详解42.Linux zsh基础用法43.Linux umask 命令详解44.Linux 如何设置特殊权限?45.Linux tmux 基础教程46.Linux pstree 命令详解47.Linux tinyproxy 使用教程48.Linux crontab 使用教程49.Linux procps-ng 包详解50.Linux xargs 命令使用教程51.Linux 比grep更快的ack命令详解52.Linux下比ack更快的ag搜索命令详解53.Linux axel 下载加速命令详解54.Linux 下的模糊查找神器 fzf 使用教程55.Linux pget 下载命令详解56.Linux ffmpeg 基础用法57.Linux 怎么在储存设备上创建文件系统?58.Linux 如何使用parted进行磁盘分区?59.Linux 如何使用dd命令来复制和转换数据?60.Linux 如何使用fdisk进行磁盘相关的操作?61.Linux pgrep 命令详解62.Linux lsblk 命令详解63.Linux pkill 命令使用详解64.Linux gdisk 命令使用详解65.Linux stat 命令使用详解66.Linux tr 命令使用详解67.Linux mpstat 命令使用详解68.Linux ifstat 命令使用详解69.Linux iostat 命令使用详解70.Linux zcat 命令使用详解71.Linux nmcli 命令使用详解72.Linux iftop 命令使用详解
73.Linux 下使用更强的ripgrep来搜索
74.Linux inode 详解75.Linux 下aria2 下载神器使用详解76.Linux nftables 命令使用详解77.Linux 磁盘挂载教程78.Linux sftp 使用详解79.Linux 性能更好的ftp客户端 lftp 使用详解80.Linux 使用nload 监控网络流量81.Linux 使用 cut 进行文本提取操作82.Linux 下使用ncdu更好的查看磁盘使用83.Linux 使用 sosreport 生成系统报告84.Linux 下使用tracepath进行网络诊断分析85.Linux 下使用vmstat监控系统性能86.Linux 下使用mtr命令来进行网络诊断87.Linux 下使用traceroute来进行网络诊断分析简介
ripgrep
(通常缩写为 rg
)是一个快速高效的命令行搜索工具,它可以递归地在当前目录中搜索正则表达式模式。它类似于 grep
,但设计得更快,特别是对于大型代码库。它可以使用优化的算法和多线程,以闪电般的速度搜索文件、目录甚至压缩文件。它支持高级搜索功能,如正则表达式、文件类型过滤等。
安装
Debian/Ubuntu
sudo apt update
sudo apt install ripgrep
CentOS/RHEL
sudo yum install ripgrep
Fedora
sudo dnf install ripgrep
macOS
brew install ripgrep
基础语法
rg [options] PATTERN [PATH]
-
PATTERN
:要搜索的正则表达式或字符 -
PATH
:要搜索的目录(或文件)。如果未指定,则默认为当前目录
示例用法
基本用法
递归搜索当前目录及其子目录中的所有文件中的单词 “error”
rg "error"
在特定目录中搜索
rg "error" /var/log
不区分大小写搜索
默认情况下,ripgrep 区分大小写。使用 -i 使搜索不区分大小写
rg -i "error"
显示行号
rg -n "error"
仅列出包含匹配项的文件的名称
不显示实际匹配项
rg -l "error"
显示匹配数
显示每个文件的匹配数
rg -c "error"
在特定类型的文件中搜索
要在特定类型的文件中搜索(例如,仅 .txt 文件)
rg -t txt "error"
指定文件类型且合并其他选项
rg -t txt -i "error"
列出可用的文件类型
rg --type-list
仅搜索整个单词
要搜索整个单词的模式(而不是单词的一部分)
rg -w "error"
排除文件或目录(--glob 或 -g)
这会将 .git 目录下的文件排除在搜索之外
rg -g "!.git/*" "error"
使用多种模式搜索 (-e)
可以通过为每个模式提供 -e 选项来搜索多个模式
rg -e "error" -e "warning"
搜索压缩文件
默认情况下,ripgrep 会跳过压缩文件,但可以使用 -z 标志让它搜索压缩文件(例如 .gz、.tar.gz)
rg -z "error"
限制搜索深度(--max-depth)
这会将搜索限制在前两级子目录中
rg --max-depth 2 "error"
搜索二进制文件(-a 或 --binary)
默认情况下,ripgrep 会跳过二进制文件
rg -a "error"
显示所有匹配的行(不仅仅是第一行)
默认情况下,ripgrep 仅显示每个文件中的第一个匹配项
rg -H "error"
搜索单词边界
要搜索单词边界(例如,error 但不是errors)
rg "\berror\b"
搜索多个单词
可以使用 | 作为 OR 条件来搜索多个模式
rg "error|warning"
搜索行首
rg "^error"
搜索行尾
rg "error$"
在所有 .js 文件中搜索
rg -t js "console"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)