|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|||
|
|||
|
|
|||
|
|||
|
|
|||
|
|||
|
|
|||
|
|||
|
|||
|
|
|||
|
|||
|
它可以取代其他搜索工具提供的许多用例 因为它包含了它们的大部分功能,并且通常速度更快。 (请参见 常见问题解答 有关ripgrep能否真正 替换GRP.) 与其他专门用于代码搜索的工具一样,ripgrep默认为 递归搜索 而且确实如此 自动的 过滤 也就是说,ripgrep不会搜索文件 被您的忽略 .gitignore(.git忽略) / .忽略 / .乔治诺尔 文件,它不会搜索 隐藏文件,它不会搜索二进制文件。 自动过滤可以 使用禁用 右-右 . 拉格利普罐 搜索特定类型的文件 . 例如, rg-tpy foo 将搜索限制为Python文件和 rg-Tjs foo 从搜索中排除JavaScript文件。 ripgrep可以被教 具有自定义匹配规则的新文件类型。 ripgrep支持中的许多功能 格雷普 ,例如显示上下文 搜索结果的,搜索多个模式,突出显示匹配项 颜色和完整的Unicode支持。 与GNU grep不同,ripgrep在 支持Unicode(始终打开)。 ripgrep可选地支持将其正则表达式引擎切换为使用PCRE2。 除其他外,这使得使用look-around和 模式中的反向引用,这在ripgrep的默认设置中不受支持 正则表达式引擎。 可以使用启用PCRE2支持 -P/--第2部分 (使用PCRE2 始终)或 --自动混合重凝胶 (仅在需要时使用PCRE2)。 另一种选择 语法通过 --引擎(默认|pcre2|auto-hybrid) 选项。 ripgrep有 更换的基本支持 , 允许根据匹配的内容重写输出。 ripgrep支架 在文本编码中搜索文件 除UTF-8外,如UTF-16、latin-1、GBK、EUC-JP、Shift_JIS等。 (提供了一些自动检测UTF-16的支持。其他文本 编码必须用 -E/--编码 标志。) ripgrep支持搜索以通用格式压缩的文件(brotli、, bzip2、gzip、lz4、lzma、xz或zstandard) -z/--搜索zip 标志。 ripgrep支架 任意输入预处理滤波器 可能是PDF文本提取,不太受支持的解压缩、解密, 自动编码检测等。 ripgrep可以通过 配置文件 .
你需要一个便携且无处不在的工具。 虽然ripgrep在Windows上工作, macOS和Linux,它不是无所不在的,也不符合任何 POSIX等标准。 这项工作最好的工具是好的旧grep。 本自述文件中仍存在一些未列出的其他功能(或错误) 你依赖于另一个不在ripgrep中的工具。 在一个性能优势案例中,ripgrep在另一个方面做得不好 这个工具做得很好。 (请提交错误报告!) ripgrep无法安装在您的计算机上,或者无法用于您的 平台。 (请提交错误报告!)
它建在 Rust的regex引擎 . Rust的正则表达式引擎使用有限自动机、SIMD和攻击性文字 使搜索速度极快的优化。 (可以选择PCRE2支持 使用 -P/--百分比2 标志。) Rust的正则表达式库通过以下方式在完全支持Unicode的情况下保持性能 将UTF-8解码直接构建到其确定性有限自动机中 发动机。 它支持使用内存映射或增量搜索进行搜索 带有中间缓冲器。 前者更适合单个文件,而 后者更适合大目录。 ripgrep选择最佳搜索 自动为您制定战略。 在中应用忽略模式 .gitignore(.git忽略) 文件使用 RegexSet(正则集合) . 这意味着一个文件路径可以与多个全局模式匹配 同时。 它使用了一个无锁并行递归目录迭代器,由 横梁 和 忽视 .
$brew安装ripgrep
$sudo端口安装ripgrep
$choco安装ripgrep
$spop安装ripgrep
$winget安装BurntShoshi.ripgrep。 MSVC公司
$sudo pacman-S ripgrep
$sudo-emerge-sys-apps/ripgrep
$sudo dnf安装ripgrep
$sudo zypper安装ripgrep
$sudo yum安装-y yum-utils $sudo yum-config-manager--添加-repo= https://copr.fedorainfracloud.org/coprs/carlwgeorge/ripgrep/epel-7/carlwgeoge-ripgrep-7.repo $sudo yum安装ripgrep
$nix-env—安装ripgrep
$flox安装ripgrep
$guix安装ripgrep
$curl-低 https://github.com/BurntShoshi/ripgrep/releases/download/14.1.0/ripgrep_14.1.0-1_amd64.deb $sudo dpkg-i ripgrep_14.1.0-1_amd64.deb
$sudo apt-get安装ripgrep
$sudo apt-get安装ripgrep
$sudo apt-get安装ripgrep
$sudo-pkg安装ripgrep
$doas pkg_添加ripgrep
$sudo-pkgin安装ripgrep
$sudo-pkgman安装ripgrep
$sudo-pkgman安装ripgrep_x86
$sudo xbps安装-Syv ripgrep
请注意,ripgrep支持的Rust的最低版本为 1.72.0 , 尽管ripgrep可能适用于旧版本。 注意,二进制文件可能比预期的要大,因为它包含调试 符号。 这是故意的。 删除调试符号并因此减少 文件大小,运行 带 在二进制文件上。
$cargo安装ripgrep
$货柜ripgrep
$git克隆 https://github.com/BurntShoshi/ripgrep $cd撕裂 $cargo构建--发布 $ ./ target/release/rg--版本 0.1.3
$cargo构建-发布-功能“pcre2”
$rustup目标add x86_64未知-linux-musl $cargo构建--发布--目标x86_64未知-linux-musl
$货物测试--全部
三角洲 是语法突出显示 支持 rg—json 输出格式。 所以你需要做的就是 让它工作是 rg—json模式|增量 。请参阅 delta的手动部分 格雷普 了解更多详细信息。