您好,登錄后才能下訂單哦!
這篇文章主要介紹了ripgrep有哪些功能的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇ripgrep有哪些功能文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
第一點(diǎn),`grep` 是咱們 Linuxer 幾乎每天都會(huì)用到的行搜索工具,幾乎所有發(fā)行版都自帶有這個(gè)工具。多少年來(lái),沒(méi)有什么改變,如一潭死水。`ripgrep`的出現(xiàn),給這個(gè)領(lǐng)域帶來(lái)了一場(chǎng)轟動(dòng)。
ripgrep 很牛,現(xiàn)在其 github 已經(jīng)接近 14000 stars 了。
ripgrep 超越 grep 的第一點(diǎn)就是 ripgrep 是跨平臺(tái)的,不再歧視 Windows 用戶,Windows, Linux,macOS 效果完全一致。
第二點(diǎn),擁有更漂亮的輸出。
當(dāng)然,美這個(gè)問(wèn)題,眾口難調(diào)。
第三,強(qiáng)力的性能。
是騾子是馬,拿出來(lái)溜溜。
對(duì)比 1 :
搜索 Linux 內(nèi)核源文件(在執(zhí)行完 make defconfig && make -j8
之后),CPU Intel i7-6900K 3.2 GHz,ripgrep 開(kāi)了 SIMD 支持。
工具 | 命令 | 行統(tǒng)計(jì) | 耗時(shí) |
---|---|---|---|
ripgrep (Unicode) | rg -n -w '[A-Z]+_SUSPEND' | 450 | 0.106s |
git grep | LC_ALL=C git grep -E -n -w '[A-Z]+_SUSPEND' | 450 | 0.553s |
The Silver Searcher | ag -w '[A-Z]+_SUSPEND' | 450 | 0.589s |
git grep (Unicode) | LC_ALL=en_US.UTF-8 git grep -E -n -w '[A-Z]+_SUSPEND' | 450 | 2.266s |
sift | sift --git -n -w '[A-Z]+_SUSPEND' | 450 | 3.505s |
ack | ack -w '[A-Z]+_SUSPEND' | 1878 | 6.823s |
The Platinum Searcher | pt -w -e '[A-Z]+_SUSPEND' | 450 | 14.208s |
(上圖, ack
有一個(gè) bug :))
對(duì)比 2:
還是搜索 Linux 內(nèi)核源代碼,搜索范圍和參數(shù)有些變化。
工具 | 命令 | 行統(tǒng)計(jì) | 耗時(shí) |
---|---|---|---|
ripgrep | rg -L -u -tc -n -w '[A-Z]+_SUSPEND' | 404 | 0.079s |
ucg | ucg --type=cc -w '[A-Z]+_SUSPEND' | 390 | 0.163s |
GNU grep | egrep -R -n --include='*.c' --include='*.h' -w '[A-Z]+_SUSPEND' | 404 | 0.611s |
(ucg
在處理符號(hào)鏈接的時(shí)候,策略有所不同)
對(duì)比3:
搜索一個(gè)約 9.3G 的大文件。
工具 | 命令 | 行統(tǒng)計(jì) | 耗時(shí) |
---|---|---|---|
ripgrep | rg -w 'Sherlock [A-Z]\w+' | 5268 | 2.108s |
GNU grep | LC_ALL=C egrep -w 'Sherlock [A-Z]\w+' | 5268 | 7.014s |
為什么推薦使用 ripgrep
因?yàn)樗采w了其它類似搜索工具的大部分特性,并且更快。
ripgrep 會(huì)識(shí)別 .gitignore 文件并忽略里面指定的文件和目錄。默認(rèn)不會(huì)搜索隱藏文件和目錄。默認(rèn)不會(huì)搜索二進(jìn)制文件。
ripgrep 可指定搜索某些類型的文件。比如,rg -tpy foo
只搜索 py 文件,rg -Tjs foo
在搜索時(shí)排除 js 文件。
ripgrep 支持 Unicode。
可選擇 PCRE2 作為正則引擎。
支持非 UTF-8 文件的搜索。
支持壓縮包里面文件的搜索。
支持任意預(yù)處理過(guò)濾器。
還等什么,馬上執(zhí)行
$ cargo install ripgrep
關(guān)于“ripgrep有哪些功能”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“ripgrep有哪些功能”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。