文章目录
概述
说到文本搜索工具,大家一定会知道 grep, 它是 linux 最有用并最常用的工具之一。
但如果要再一个大的工程项目(比如好几个G的日志)中搜索某个关键词,大家也一定知道它比较耗时。
而最近又有了新的替代者 Ripgrep
, 这个工具和 Ack/Ag 一样都使用了多线程的方法,但 rg 比它们更快
特点
- 自动递归搜索(文件夹下) (grep下 需要-R)
- 自动忽略.gitignore 中的文件以及 2 进制文件
- 可以搜索指定文件类型(rg -tpy foo限定 python 文件, rg -Tjs foo排除 js 文件)
- 支持大部分 grep 的 feature(常用的都有)
- 支持各种文件编译(UTF-8, UTF-16, latin-1, GBK, EUC-JP, Shift_JIS 等等)
- 支持搜索常见压缩文件(gzip, xz, lzma, bzip2, lz4)
- 自动高亮匹配的结果
- 不支持多行搜索和花哨的正则
安装
ubuntu下安装
$ curl -LO https://github.com/BurntSushi/ripgrep/releases/download/13.0.0/ripgrep_13.0.0_amd64.deb
$ sudo dpkg -i ripgrep_13.0.0_amd64.deb
不同操作系统安装方式
https://github.com/BurntSushi/ripgrep
使用
rg --version
查看是否安装成功
rg "prop"
会在当前文件下递归搜索关键字prop
rg "prop" cuda_learning_test/5_memory/
在指定文件夹(或者指定文件)下搜索关键字prop
输出到文件 : 最后 >> + 文件名