Linux三劍客之grep詳解

roc_guo發表於2021-06-02

我們在使用 Linux 系統中,grep 命令的使用尤為頻繁,熟練掌握 grep 的常見用法,能夠極大地提高你的工作效率。

Linux三劍客之grep詳解Linux三劍客之grep詳解

rep 命令是一種強大的文字搜尋工具,它能使用正規表示式,按照指定的模式去匹配,並把匹配的行列印出來。需要注意的是,grep 只支援匹配而不能替換匹配的內容,替換的功能可以由 sed 來完成。

整體上 grep 還是比較簡單的,文中不會詳細列舉所有的選項和引數,會以多個具體示例來說明 grep 的使用方法和場景,幫助你快速學會 grep 的常見用法。

示例實戰

廢話不說了,直接實戰。文章中的示例 需要一個樣例檔案,檔案內容如下:

Linux三劍客之grep詳解Linux三劍客之grep詳解

1. 把包含 syslog 的行過濾出來

Linux三劍客之grep詳解Linux三劍客之grep詳解

2. 把以 ntp 開頭的行過濾出來

Linux三劍客之grep詳解Linux三劍客之grep詳解

3. 把匹配 ntp 的行以及下邊的兩行過濾出來

Linux三劍客之grep詳解Linux三劍客之grep詳解

4. 把包含 syslog 及上邊的一行過濾出來

Linux三劍客之grep詳解Linux三劍客之grep詳解

5. 把包含 syslog 以及上、下一行內容過濾出來

Linux三劍客之grep詳解Linux三劍客之grep詳解

6. 過濾某個關鍵詞,並輸出行號

Linux三劍客之grep詳解Linux三劍客之grep詳解

7. 過濾不包含某關鍵詞,並輸出行號

Linux三劍客之grep詳解Linux三劍客之grep詳解

8. 刪除掉空行

Linux三劍客之grep詳解Linux三劍客之grep詳解

9. 過濾包含 root 或 syslog 的行

Linux三劍客之grep詳解Linux三劍客之grep詳解

9. 過濾包含 root 或 syslog 的行

Linux三劍客之grep詳解Linux三劍客之grep詳解

簡單總結

透過了一些簡單案例操作,我們應該已經熟悉了 grep 的常見用法,下邊再來簡單總結 grep 的常見選項,相信在實戰練習後再來總結應該會有更好的學習效果。

  1. -A:除了匹配行,額外顯示該行之後的N行

  2. -B:除了匹配行,額外顯示該行之前的N行

  3. -C:除了匹配行,額外顯示該行前後的N行

  4. -c:統計匹配的行數

  5. -e:實現多個選項間的邏輯 or 關係

  6. -E:支援擴充套件的正規表示式

  7. -F:相當於 fgrep

  8. -i:忽略大小寫

  9. -n:顯示匹配的行號

  10. -o:僅顯示匹配到的字串

  11. -q:安靜模式,不輸出任何資訊,
  12. 中常用

  13. -s:不顯示錯誤資訊

  14. -v:顯示不被匹配到的行

  15. -w:顯示整個單詞

  16. --color:以顏色突出顯示匹配到的字串

與 grep 相似的工具還有 egrep、fgrep,實用性並不強,其功能完全可以透過 grep 的擴充套件引數來實現,所以就不再擴充套件。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2775017/,如需轉載,請註明出處,否則將追究法律責任。

相關文章