git grep命令用法
通過git grep命令檢索檔案中的文字內容非常的便利。
此命令引數眾多,這裡不一一介紹,只介紹最為常用的幾種。
更為詳細的用法可以參閱官方文件,開啟方式如下:
[Shell] 純文字檢視 複製程式碼$ git grep --help
下面通過程式碼例項介紹一下此命令常用的檢索功能。
當前專案下,有兩檔案,readme.txt和antzone.txt,內容分別是:
[HTML] 純文字檢視 複製程式碼www.softwhy.com
以上是antzone.txt檔案內容。
[HTML] 純文字檢視 複製程式碼螞蟻部落 softwhy.com www.softwhy.com
以上是readme.txt檔案內容。
一.檢索指定關鍵字:
程式碼例項如下:
[Shell] 純文字檢視 複製程式碼$ git grep www
上面程式碼可以檢索"www"字串,執行效果截圖如下:
上面程式碼在對應檔案,相應行中檢索到字串"www"。
二.檢索關鍵字出現在哪一行:
程式碼例項如下:
[Shell] 純文字檢視 複製程式碼$ git grep -n www
以上程式碼可以檢索"www"字串,並給出出現在檔案中哪一行,執行效果截圖如下:
antzone.txt檔案中,檢索到"www",位於第一行。
readme.txt檔案中,檢索到"www",位於第三行。
三.只檢索指定關鍵字出現在哪些檔案中:
程式碼例項如下:
[Shell] 純文字檢視 複製程式碼$ git grep --name-only www
以上程式碼可以檢索"www"字串出現在哪些檔案中,只列出檔名稱,執行效果截圖如下:
四.統計每一個檔案中檢索到指定關鍵字的行數:
程式碼例項如下:
[Shell] 純文字檢視 複製程式碼$ git grep -c com
以上程式碼可以統計檔案中有幾行出現了"com"字串,執行效果截圖如下:
五.在指定commit中檢索:
可以在指定的commit提交中進行檢索,下面我們進行第二次提交,將readme.txt檔案內容修改為:
[HTML] 純文字檢視 複製程式碼螞蟻部落
現在看一下提交歷史記錄,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git log --oneline
程式碼執行截圖如下:
下面在c2提交中檢索,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git grep com 5027c63
執行效果截圖如下:
當然不一定非要是sha-1值,只要能標識指定commit提交即可,比如tag標籤。
六.與條件檢索:
當前檔案antzone.txt和readme.txt檔案內容如下:
[HTML] 純文字檢視 複製程式碼www.softwhy.com 螞蟻部落
以上是antzone.txt檔案內容。
[HTML] 純文字檢視 複製程式碼螞蟻部落 螞蟻部落softwhy.com
以上是readme.txt檔案內容。
所謂與條件檢索,就是要行同時滿足多個條件,程式碼例項如下:
[Shell] 純文字檢視 複製程式碼$ git grep -e 螞蟻 --and -e com
程式碼執行效果截圖如下:
七.或條件檢索:
所謂與條件檢索,就是隻要行滿足其中一個條件即可,程式碼例項如下:
[Shell] 純文字檢視 複製程式碼$ git grep -e com --or -e 螞蟻
程式碼執行效果截圖如下:
特別說明:or關鍵字可以省略(也就是預設即為or)。
八.與或組合檢索:
當前檔案antzone.txt和readme.txt檔案內容如下:
[HTML] 純文字檢視 複製程式碼www.softwhy.com antzone softwhy.com
以上是antzone.txt檔案內容。
[HTML] 純文字檢視 複製程式碼螞蟻部落 螞蟻部落softwhy.com
以上是readme.txt檔案內容。
和其他語言的與或邏輯運算同樣的,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git grep -e com --and \( -e ant -e 螞蟻 \)
程式碼執行效果截圖如下:
九.全匹配檢索:
程式碼例項如下:
[Shell] 純文字檢視 複製程式碼$ git grep --all-match -e 螞蟻 --or -e com
程式碼執行效果截圖如下:
全匹配和普通匹配的區別在於,全匹配必須在全文滿足指定的條件。
比如上面的例子中,如果是全匹配,那麼必須在檔案中,同時具有"螞蟻"和"com"(沒要同一行)。
而普通匹配,只要在檔案中具有"螞蟻"或者"com"中的一個即可。
看普通匹配,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git grep -e 螞蟻 --or -e com
程式碼執行效果截圖如下:
antzone.txt檔案內容如下:
[HTML] 純文字檢視 複製程式碼www.softwhy.com antzone
由於此檔案中沒有"螞蟻",所以全匹配不成立。
相關文章
- 【SHELL】grep 命令用法
- git show命令用法Git
- linux下grep命令用法例項教程Linux
- git 命令之git rebase 用法&git rebase介紹Git
- Git SSH 命令常見用法Git
- grep命令
- grep命令使用
- 【Linux命令】grep命令Linux
- linux中grep基本用法Linux
- Linux命令篇 - grep 命令Linux
- Linux grep 命令Linux
- grep、find命令整理
- 【Linux】grep命令Linux
- grep 命令詳解
- grep 命令系列:使用 grep 命令來搜尋多個單詞
- AIX 中grep 的用法幫助AI
- linux每日命令(35):grep命令Linux
- Linux命令:grep命令AND、OR、NOT例項Linux
- grep 命令系列:grep 中的正規表示式
- linux命令之grepLinux
- grep命令的知識.
- Linux基礎命令---grepLinux
- Linux grep命令的使用Linux
- shell 中 grep、sed、awk 命令
- linux grep命令詳解Linux
- shell中grep命令詳解
- linux命令: ps,grep,killLinux
- 14 個 grep 命令的例子
- Linux命令grep詳解Linux
- aix基本命令之grepAI
- Git基本用法Git
- git reset 用法Git
- Git Stash用法Git
- Linux 中 grep xxx的用法Linux
- 【Shell】sed xargs grep awk的組合用法
- 如何使用grep命令的排除功能
- Windows 系統下使用grep 命令Windows
- Linux grep命令詳細教程Linux