温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ripgrep有哪些功能

发布时间:2022-03-16 16:35:31 来源:亿速云 阅读:210 作者:iii 栏目:大数据

这篇文章主要介绍了ripgrep有哪些功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ripgrep有哪些功能文章都会有所收获,下面我们一起来看看吧。

第一点,`grep` 是咱们 Linuxer 几乎每天都会用到的行搜索工具,几乎所有发行版都自带有这个工具。多少年来,没有什么改变,如一潭死水。`ripgrep`的出现,给这个领域带来了一场轰动。

ripgrep 很牛,现在其 github 已经接近 14000 stars 了。

ripgrep 超越 grep 的第一点就是 ripgrep 是跨平台的,不再歧视 Windows 用户,Windows, Linux,macOS 效果完全一致。

第二点,拥有更漂亮的输出。

ripgrep有哪些功能

当然,美这个问题,众口难调。

第三,强力的性能。

是骡子是马,拿出来溜溜。

对比 1 :

搜索 Linux 内核源文件(在执行完 make defconfig && make -j8 之后),CPU Intel i7-6900K 3.2 GHz,ripgrep 开了 SIMD 支持。

工具命令行统计耗时
ripgrep (Unicode)rg -n -w '[A-Z]+_SUSPEND'4500.106s
git grepLC_ALL=C git grep -E -n -w '[A-Z]+_SUSPEND'4500.553s
The Silver Searcherag -w '[A-Z]+_SUSPEND'4500.589s
git grep (Unicode)LC_ALL=en_US.UTF-8 git grep -E -n -w '[A-Z]+_SUSPEND'4502.266s
siftsift --git -n -w '[A-Z]+_SUSPEND'4503.505s
ackack -w '[A-Z]+_SUSPEND'18786.823s
The Platinum Searcherpt -w -e '[A-Z]+_SUSPEND'45014.208s

(上图, ack 有一个 bug :))

对比 2:

还是搜索 Linux 内核源代码,搜索范围和参数有些变化。

工具命令行统计耗时
ripgreprg -L -u -tc -n -w '[A-Z]+_SUSPEND'4040.079s
ucgucg --type=cc -w '[A-Z]+_SUSPEND'3900.163s
GNU grepegrep -R -n --include='*.c' --include='*.h' -w '[A-Z]+_SUSPEND'4040.611s

ucg 在处理符号链接的时候,策略有所不同)


 

对比3:
 


 

搜索一个约 9.3G 的大文件。

工具命令行统计耗时
ripgreprg -w 'Sherlock [A-Z]\w+'52682.108s
GNU grepLC_ALL=C egrep -w 'Sherlock [A-Z]\w+'52687.014s

为什么推荐使用 ripgrep

  1. 因为它覆盖了其它类似搜索工具的大部分特性,并且更快。

  2. ripgrep 会识别 .gitignore 文件并忽略里面指定的文件和目录。默认不会搜索隐藏文件和目录。默认不会搜索二进制文件。

  3. ripgrep 可指定搜索某些类型的文件。比如,rg -tpy foo 只搜索 py 文件,rg -Tjs foo 在搜索时排除 js 文件。

  4. ripgrep 支持 Unicode。

  5. 可选择 PCRE2 作为正则引擎。

  6. 支持非 UTF-8 文件的搜索。

  7. 支持压缩包里面文件的搜索。

  8. 支持任意预处理过滤器。

还等什么,马上执行

$ cargo install ripgrep

关于“ripgrep有哪些功能”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“ripgrep有哪些功能”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI