您好,登錄后才能下訂單哦!
這篇文章主要介紹了ripgrep有哪些功能的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇ripgrep有哪些功能文章都會有所收獲,下面我們一起來看看吧。
第一點,`grep` 是咱們 Linuxer 幾乎每天都會用到的行搜索工具,幾乎所有發行版都自帶有這個工具。多少年來,沒有什么改變,如一潭死水。`ripgrep`的出現,給這個領域帶來了一場轟動。
ripgrep 很牛,現在其 github 已經接近 14000 stars 了。
ripgrep 超越 grep 的第一點就是 ripgrep 是跨平臺的,不再歧視 Windows 用戶,Windows, Linux,macOS 效果完全一致。
第二點,擁有更漂亮的輸出。
當然,美這個問題,眾口難調。
第三,強力的性能。
是騾子是馬,拿出來溜溜。
對比 1 :
搜索 Linux 內核源文件(在執行完 make defconfig && make -j8
之后),CPU Intel i7-6900K 3.2 GHz,ripgrep 開了 SIMD 支持。
工具 | 命令 | 行統計 | 耗時 |
---|---|---|---|
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
有一個 bug :))
對比 2:
還是搜索 Linux 內核源代碼,搜索范圍和參數有些變化。
工具 | 命令 | 行統計 | 耗時 |
---|---|---|---|
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
在處理符號鏈接的時候,策略有所不同)
對比3:
搜索一個約 9.3G 的大文件。
工具 | 命令 | 行統計 | 耗時 |
---|---|---|---|
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
因為它覆蓋了其它類似搜索工具的大部分特性,并且更快。
ripgrep 會識別 .gitignore 文件并忽略里面指定的文件和目錄。默認不會搜索隱藏文件和目錄。默認不會搜索二進制文件。
ripgrep 可指定搜索某些類型的文件。比如,rg -tpy foo
只搜索 py 文件,rg -Tjs foo
在搜索時排除 js 文件。
ripgrep 支持 Unicode。
可選擇 PCRE2 作為正則引擎。
支持非 UTF-8 文件的搜索。
支持壓縮包里面文件的搜索。
支持任意預處理過濾器。
還等什么,馬上執行
$ cargo install ripgrep
關于“ripgrep有哪些功能”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“ripgrep有哪些功能”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。