溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ripgrep有哪些功能

發(fā)布時(shí)間:2022-03-16 16:35:31 來(lái)源:億速云 閱讀:211 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹了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),擁有更漂亮的輸出。

ripgrep有哪些功能

當(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'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 有一個(gè) bug :))

對(duì)比 2:

還是搜索 Linux 內(nèi)核源代碼,搜索范圍和參數(shù)有些變化。

工具命令行統(tǒng)計(jì)耗時(shí)
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 在處理符號(hào)鏈接的時(shí)候,策略有所不同)


 

對(duì)比3:
 


 

搜索一個(gè)約 9.3G 的大文件。

工具命令行統(tǒng)計(jì)耗時(shí)
ripgreprg -w 'Sherlock [A-Z]\w+'52682.108s
GNU grepLC_ALL=C egrep -w 'Sherlock [A-Z]\w+'52687.014s

為什么推薦使用 ripgrep

  1. 因?yàn)樗采w了其它類似搜索工具的大部分特性,并且更快。

  2. ripgrep 會(huì)識(shí)別 .gitignore 文件并忽略里面指定的文件和目錄。默認(rèn)不會(huì)搜索隱藏文件和目錄。默認(rèn)不會(huì)搜索二進(jìn)制文件。

  3. ripgrep 可指定搜索某些類型的文件。比如,rg -tpy foo 只搜索 py 文件,rg -Tjs foo 在搜索時(shí)排除 js 文件。

  4. ripgrep 支持 Unicode。

  5. 可選擇 PCRE2 作為正則引擎。

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

  7. 支持壓縮包里面文件的搜索。

  8. 支持任意預(yù)處理過(guò)濾器。

還等什么,馬上執(zhí)行

$ cargo install ripgrep

關(guān)于“ripgrep有哪些功能”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“ripgrep有哪些功能”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI