一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
grep卡成狗?换rg试试
发信人 dev46 · 信区 灵枢宗(计算机) · 时间 2026-09-28 22:43
返回版面 回复 9
✦ 发帖赚糊涂币【灵枢宗(计算机)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
dev46
[链接]

前阵子在一个几十万文件的 monorepo 里搜一个函数调用,grep 跑得我差点去泡杯茶。后来被安利了 ripgrep(缩写 rg),体验直接降维打击。
简单说
rg 是 Rust 重写的,默认就把 .gitignore 里列的文件和隐藏文件全忽略了。grep 你得手动加一堆 exclude 才不踩坑,rg 开箱即用。大仓库里搜,Rust 加 SIMD 指令集加速(简单说就是一条指令并行处理多块数据,CPU 层面暴力提效),比 grep 快一个量级不止,基本秒出。
简单说
语法跟 grep 高度兼容,老肌肉记忆不用改。关键是它能无缝接进 fzf、vim 这套工具链,我现在 vim 里直接调 rg,再配 fzf 做交互式筛选,丝滑。简单说小仓库可能感知不强,但仓库一大这东西就是实打实的生产力差距。sounds good 的话,brew install ripgrep 一把梭就完事。

grey81
[链接]

rg默认忽略gitignore,想搜node_modules时反而要加

canvas2000
[链接]

前年接手一个陈年的仓库,光散落各处的日志就压了几百万行。grep 一跑,我索性去窗边站会儿,看楼下梧桐叶子翻过来又翻过去,等它折腾完,半天已经过去了。

rg 最合我意的地方,是它懂得替你把不紧要的先放下,只把要紧的呈上来。这点倒像是过日子——少在无关处虚耗力气,才腾得出神来对付真正的难处。

回头我也 brew 一把梭装来试试,省下的那些等待,够听半支老唱片了。

retro_x
[链接]

以前有回我在一台老服务器上排查问题,手一抖敲了 rg,那破机器压根没装,愣了半天才回过味来。后来琢磨明白一件事:grep 是慢,可它胜在哪儿都生根,随便 ssh 个裸环境就有。rg 再好使,真到了生产机上撸袖子干活的节骨眼,还得靠 grep 那套老本事的。

本地我是早换 rg 了,搜起来确实痛快。就是默认跳过 .gitignore 和隐藏文件这点,刚用时真被坑过——有回要查 node_modules 里某个包的版本,死活搜不出来,还当自己眼花了。后来记牢了,加 -u 才全量搜。别急

工具嘛,趁手就行,倒也不必非此即彼。

veteran
[链接]

早些年我也死守 grep,谁安利新工具都当耳旁风,总觉得老把式够用就行。后来项目一膨胀,才晓得有些倔强纯属跟自己过不去。想当年

rg 我机器上早就装了,默认忽略 gitignore 和隐藏文件这点确实省心。不过有个小坑值得提一句:哪天你真要翻 .git 目录、或者 node_modules 里某个依赖的报错,它默认就跳过去了,你会以为压根没匹配上、空困惑半天。那时候得加 -u 或者 --hidden 才翻得出来。话说回来

工具好换,习惯难改。你这篇我打算转给组里那几个还抱着 grep 不放的同事看看 ( ̄▽ ̄)

hugger2003
[链接]

前阵子我也在这上头栽过跟头,辛苦了,大仓库里搜东西最磨性子。楼主说的开箱即用确实省心,不过想多嘴提醒一句小地方:rg 默认把 .gitignore 里的和隐藏文件全跳过去了,刚上手的人偶尔正想翻某个被忽略的文件,它却一声不吭地略过,反倒让人发懵。我头回碰上时也是愣了好一阵,后来才记起加 -u 或者 --unrestricted 才翻得进去。

大体上这默认逻辑是替人着想的,毕竟谁天天乐意看一堆生成出来的垃圾文件呢。加油呀楼主把它接进 fzf 和 vim 那套流程,听着就顺手,我这把老骨头也该学着这么折腾折腾了。你那句"泡杯茶"可太真,茶都凉了 grep 还没跑完 (笑)

lazy__us
[链接]

我之前真被 grep 卡到去泡了壶茶,换 rg 之后回不去了哈哈

bloom
[链接]

读你写"去泡杯茶"那句,忽然觉得等待本身也成了被工具悄悄拿走的东西。从前慢,如今什么都求秒出,倒叫人有些空落落的。

aurora_529
[链接]

rg 是利落了。可我偶尔还惦记 grep 那段去泡茶的空白,那几分钟原是自己的。

nosy
[链接]

等等,你猛夸 rg 默认忽略 .gitignore 这点我得补个反面教材——我之前听一哥们吐槽,排查线上问题死活搜不到哪段配置,最后发现它老老实实躺在被 ignore 的隐藏文件里,rg 压根没扫进去,grep 反而不会漏。要全量搜得加 -u 或者 --no-ignore,不然它太"懂事"反而坑你。真的假的

卧槽话说回来,这个工具到底谁安利你的啊?我怎么听说的版本是你们组最近在悄悄统一开发环境,是不是哪个大佬力推的,八卦一下( ̄▽ ̄)

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界