服务器测评网
我们一直在努力
广告
广告
广告
广告
广告
广告

云服务器ripgrep (rg) 的安装和使用

广告
广告

ripgrep(简称 rg)是一个超级快速且功能强大的命令行工具,用来在文件中进行文本搜索。它是用 Rust 编写的,通常比其它类似的工具(比如 grep)要快,尤其是在处理大目录或者大文件的时候。简单来说,ripgrep 就是 grep 的升级版,它考虑了你系统中的 .gitignore 文件,如果某些文件、扩展名或目录被忽略,它会自动跳过,从而提升搜索速度。

 

1. 安装 ripgrep

虽然大部分 Linux 系统预装了 grep,但是 ripgrep 默认并没有安装。不过它可以通过包管理器很方便地安装,几乎支持所有主流的 Linux 发行版。

Debian/Ubuntu 系列:

sudo apt update

sudo apt install ripgrep

 

CentOS/RHEL 系列:

sudo yum install epel-release

sudo yum install ripgrep

 

Fedora:

sudo dnf install ripgrep

 

Arch Linux:

pacman -S ripgrep

 

Gentoo:

emerge sys-apps/ripgrep

 

openSUSE(15.1 及以上版本):

sudo zypper install ripgrep

 

Debian Buster 或更高版本,Ubuntu 18.10 及以上版本:

sudo apt install ripgrep

 

2. 如何使用 ripgrep

如果你对 grep 已经很熟悉了,那么使用 ripgrep 会很轻松。其实它的工作原理很简单,你只需要提供一个搜索模式和文件名,ripgrep 就会帮你找到匹配的内容并显示出来。与 grep 类似,ripgrep 也支持在文件夹中递归搜索,并且会显示文件内容和匹配行的位置。

比如,如果你想在 Cargo.toml 文件中搜索 description,你可以这么做:

$ rg description Cargo.toml

这时 ripgrep 会返回匹配到的行,显示文件名和行号。

 

3. 高级功能

上下文搜索有时候你可能想查看匹配的文本前后的上下文行,特别是在查看代码时。你可以使用 -C(或 –context)来指定显示匹配行前后多少行。例如,显示匹配前后 3 行:

$ rg -C 3 “description”

如果你只关心匹配行之后的内容,可以使用 -A,如果只关心之前的内容,可以用 -B。例如:

$ rg -A 3 “description”  # 匹配后 3 行

$ rg -B 3 “description”  # 匹配前 3 行

 

列出匹配行的列号如果你是 vim 用户,或者需要精确到某行某列,可以用 –column 标志来显示列号:

$ rg –column “description”

 

正则表达式搜索ripgrep 支持正则表达式,就像 grep 一样。如果你想搜索某个模式,比如以 def 开头的行,你可以这么做:

$ rg “^def”

 

多线程搜索如果你的代码库很大,ripgrep 还支持多线程搜索,可以提高效率。例如,指定 4 个线程进行搜索:

$ rg -j 4 “TODO”

 

排除某些文件如果你想排除某些文件或者目录,可以使用 –glob 参数。比如,排除 node_modules 目录:

$ rg “search_term” –glob ‘!node_modules/*’

 

忽略大小写如果你希望搜索不区分大小写,可以加上 -i 参数:

$ rg -i “example”

 

搜索压缩文件ripgrep 还可以搜索压缩文件(如 .zip 文件),你只需要加上 -z 参数:

$ rg -z “pattern” archive.zip

本网站发布或转载的文章均来自网络,其原创性以及文中表达的观点和判断不代表本网站。
好主机测评广告位招租-300元/3月
赞(0) 打赏
未经允许不得转载:好主机测评网 » 云服务器ripgrep (rg) 的安装和使用
好主机测评广告位招租-200元/3月
好主机测评广告位招租-100元/3月

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫