色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是ripgrep?怎樣去使用ripgrep命令呢?

冬至子 ? 來源:TIAP ? 作者:劉光錄 ? 2022-11-15 18:09 ? 次閱讀

ripgrep 是開源社區正在進行的 RIIR(re-write in Rust)工作的一個優秀成果。它旨在成為經典grep 命令

它的語法如下:

rg  [files/directories]

使用 ripgrep,可以不提供待搜索的文件名。 如果沒有提供文件名,那么就會搜索所有的文件 。如果你不知道搜索的關鍵詞在哪個文件中,那這種情況下是非常有用的。

當然,我們也可以使用 grep 搜索所有的文件,但是 ripgrep 不需要提供額外的參數

什么是 ripgrep

ripgrep 是一個遞歸正則表達式模式匹配工具,它考慮了 gitignore。如果你的 gitignore 中有排除的文件或目錄,那么 ripgrep 將會忽略它們,從而加快搜索的執行時間。

ripgrep 幾個比較突出的特點如下:

  • 在目錄中遞歸搜索;
  • 輸出中不同顏色高亮顯示;
  • 支持多種編碼格式,比如 UTF-8,SHIFT_JIS等;
  • 可以在壓縮文件的zip文件中搜索;
  • 默認情況下會忽略隱藏文件,另外也會忽略 gitignore文件中的過濾設置。

你可以將其視同為 grep,但 ripgrep 搜索的是文件和文件內容,而不是 grep 所處理的原始字節流。

安裝 ripgrep

大多數 Linux 系統中都預裝了 grep,但是 ripgrep 并沒有這樣的特權,所有我們需要手動安裝它。

ripgrep 在所有主流 Linux 發行版的存儲庫中都可用,所以我們可以使用包管理器來安裝。

如果你是 Arch Linux 用戶,可以使用如下命令安裝:

pacman -S ripgrep

Gentoo 用戶使用如下命令安裝 ripgrep:

emerge sys-apps/ripgrep

Fedoras 或者 Red Hat 使用如下命令:

sudo dnf install ripgrep

openSUSE(15.1及更新版本)用戶使用如下命令:

sudo zypper install ripgrep

Debian Buster(v10)或更高版本的用戶,可使用 apt;Ubuntu Cosmic Cutlefish(18.10)或更高級版本也可以使用發行版的官方存儲庫:

sudo apt install ripgrep

使用 ripgrep 命令

如果你熟悉 grep 命令,就會發現 ripgrep 與其工作原理類似。它 接受一個字符串和文件名作為參數 ,運行時會搜索文件,并顯示輸入字符串與文件內容匹配的位置。

基本搜索

如下例子,我們在 Cargo.html 中搜索單詞 description:

$ rg description Cargo.toml
3:description = "A more intuitive version of du"
53:extended-description = """\\

ripgrep 將在指定的文件中搜索,結果將顯示 匹配的文本和行號

圖片

如果搜索的是多個文件(如果不指定任何文件,它將搜索所有文件),那么ripgrep在搜索結果中還會顯示文件名:

圖片

或者,可以使用 --file 選項,其中包含要搜索的關鍵詞(表達式)。當你要搜索一組關鍵詞時,可以將其放在一個文件中,然后使用 --file 選項指定:

圖片

前后文搜索

有時候,有匹配的前后文是很好的顯示方式,特別是在代碼庫中搜索時。使用前后文搜索,可以使用 -C 或者 --context 選項,該選項接受一個數值,并顯示匹配值的前一行和后一行:

圖片

有時,我們只希望看到上面的幾行,包括匹配的行;還有時候,我們只需要下面的行,包括匹配的行。使用選項 -A,或者 --after-context,后跟一個數值,將顯示每個匹配行后的幾行:

圖片

至于顯示匹配行前面的幾行,可以使用 -B 或者 --before-context,再提供一個數值(即行數):

圖片

列選項

關于 ripgrep 提供的列,有幾個選項。

如果你使用的是 vim,可以使用 --column 選項,這樣將在結果中顯示匹配文本在哪一列,以"行:列"的方式顯示:

圖片

與列相關的另一個選項是 -M 或 --max-columns,它取最大列數的值。如果匹配行的列超過最大值,它會告訴你某一特定行在輸出到終端時被忽略:

圖片

其他選項

除了上文中提到的,ripgrep 中還有其他幾個選項。比如:可以使用 -s 或 --case-sensitive 選項來區分大小寫:

圖片

如果不想區分大小寫,可以使用 -i 或 --ignore-case :

圖片

另外,如果你要搜索的目標文件特別大,可以啟用多線程進行搜索。使用 -j 或 --threads 選項,后跟一個數值:

$ rg -j 4 TODO

在搜索中要排除某個關鍵詞或表達式,可以使用 -v 或 --invert-match 選項:

圖片

ripgrep 可以實現在壓縮文件(如果壓縮文件是文本文件)中進行搜索,使用 -z 或 --search-zip 選項。其通常與 -a 選項一起使用,-a 選項會將二進制文件也當作文本文件。

圖片

ripgrep 是一個非常好用的工具,雖然它暗指要替代 grep,但實際上并不會取代 grep,因為它們的搜索目標是不同的。我們可以在日常工作中按需求來使用。

審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux系統
    +關注

    關注

    4

    文章

    594

    瀏覽量

    27409
  • UTF-8
    +關注

    關注

    0

    文章

    13

    瀏覽量

    7861
  • APT
    APT
    +關注

    關注

    1

    文章

    38

    瀏覽量

    10834
收藏 人收藏

    評論

    相關推薦

    在Boost電源中該怎樣選擇電容的型號和電容容量

    我們之前了解過電容的作用,不外乎儲能、濾波等作用。那么在Boost電源中又該怎樣選擇電容的型號和電容容量
    發表于 08-14 15:44 ?3066次閱讀
    在Boost電源中該<b class='flag-5'>怎樣</b><b class='flag-5'>去</b>選擇電容的型號和電容容量<b class='flag-5'>呢</b>?

    怎樣設置數值元件的格式

    怎樣設置數值元件怎樣設置數值元件的格式
    發表于 09-26 09:16

    怎樣獲取Android的電池電壓

    怎樣獲取Android的電池電壓怎樣獲取Android的電池電流
    發表于 10-09 08:39

    怎樣使用springboot

    怎樣使用springboot?學習springboot需要懂得哪些?
    發表于 10-25 07:13

    NOR FLASH的命令怎樣操作的

    NOR FLASH的原理是什么?NOR FLASH的命令怎樣操作的?
    發表于 10-29 07:29

    怎么確定u-boot編譯命令該用什么命令

    怎么確定u-boot編譯命令該用什么命令怎樣搭建一種嵌入式linux驅動開發環境
    發表于 11-05 07:28

    怎樣使用HSE/HSI配置RCC的時鐘

    怎樣使用HSE/HSI配置RCC的時鐘怎樣設置系統時鐘的庫函數
    發表于 11-10 07:08

    怎樣使用Linux操作命令與開發工具

    怎樣使用Linux操作命令與開發工具?Linux文件的屬性有哪些
    發表于 12-23 09:41

    socket通信該怎樣實現

    socket通信該怎樣實現怎樣實現socket AES-CBC加密
    發表于 01-20 07:41

    怎樣通過命令實現otg和host的動態切換

    怎樣通過命令實現otg和host的動態切換?求解答
    發表于 02-17 07:30

    怎樣寫回調函數怎樣使用回調函數

    回調函數的作用是什么?單片機怎么用回調函數在不同文件之間傳遞數據怎樣寫回調函數怎樣使
    發表于 02-23 07:40

    怎樣通過rkdevloptool燒寫三個文件

    怎樣編譯rkdevloptool命令怎樣通過rkdevloptool燒寫三個文件
    發表于 03-07 07:39

    怎樣使用shell命令測試gpio并找到端口

    怎樣使用shell命令測試gpio并找到端口
    發表于 03-09 06:10

    RK3328 linux命令怎樣進入gpio口的

    怎樣查看RK3328主板的gpio口?RK3328 linux命令怎樣進入gpio口的
    發表于 03-09 07:09

    fish-shell進化為Rust項目

    ripgrep 是一款面向行的搜索工具,可以遞歸地在當前目錄中搜索正則表達式模式。默認情況下,ripgrep 將遵循 gitignore 規則并自動跳過隱藏文件/目錄和二進制文件。ripgrep 在 Windows、macOS
    的頭像 發表于 11-29 16:25 ?416次閱讀
    主站蜘蛛池模板: 51久久夜色精品国产| 伊人久久大香线蕉资源| 97精品伊人久久大香线蕉app| 欧洲电影巜肉欲丛林| 精品国产成a人在线观看| 边做边爱播放3免费观看| 又紧又大又爽精品一区二区 | 中文字幕视频在线观看| 色欲天天婬色婬香影院| 男人网站在线观看| 久久国产高清视频| 国产亚洲精品福利视频| 高hh乱亲女真实| chinesevideoshd性舞| 一受n攻高h全肉np| 亚洲国产中文字幕新在线| 入禽太深视频免费视频| 女人和男人插曲视频大全| 久久免费精彩视频| 韩国羞羞秘密教学子开车漫书| 国产超碰人人爱被IOS解锁| sihu国产精品永久免费| 69日本xxⅹxxxxx18| 在线看免费毛片| 一个人在线观看免费高清视频| 亚洲AV 无码AV 中文字幕| 视频网站入口在线看| 色戒西瓜视频| 色戒西瓜视频| 色www永久免费| 日韩人妻无码精品久久中文字幕 | 公主纯肉高H文| 成人在线视频播放| a亚洲在线观看不卡高清| 97资源站超碰在线视频| 中文字幕无码亚洲字幕成A人蜜桃 中文字幕无码亚洲视频 | 国产一区91| 国产午夜亚洲精品理论片八戒| 国产精品69人妻无码久久| 高清国产mv视频在线观看| 国产成人无码精品久久久影院 |