Linux 三劍客之 grep 使用詳解

Linux 最重要的三個命令在業界被稱爲三劍客,它們是:awksedgrep。sed 已經在上篇中講過,本文要講的是 grep 命令。正則表達式

咱們在使用 Linux 系統中,grep 命令的使用尤其頻繁,熟練掌握 grep 的常見用法,可以極大地提升你的工做效率。app

grep 命令是一種強大的文本搜索工具,它能使用正則表達式,按照指定的模式去匹配,並把匹配的行打印出來。須要注意的是,grep 只支持匹配而不能替換匹配的內容,替換的功能能夠由 sed 來完成。負載均衡

總體上 grep 仍是比較簡單的,文中不會詳細列舉全部的選項和參數,會以多個具體示例來講明 grep 的使用方法和場景,幫助你快速學會 grep 的常見用法。工具

示例實戰

廢話不說了,直接實戰。文章中的示例 須要一個樣例文件,文件內容以下:學習

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

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

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

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

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

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

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

8. 刪除掉空行

9. 過濾包含 root 或 syslog 的行

10. 查看當前目錄中包含某關鍵詞的全部文件(這個頗有用)

簡單總結

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

  • -A:除了匹配行,額外顯示該行之的N行
  • -B:除了匹配行,額外顯示該行之的N行
  • -C:除了匹配行,額外顯示該行先後的N行
  • -c:統計匹配的行數
  • -e實現多個選項間的邏輯 or 關係
  • -E支持擴展的正則表達式
  • -F:至關於 fgrep
  • -i:忽略大小寫
  • -n:顯示匹配的行號
  • -o:僅顯示匹配到的字符串
  • -q:安靜模式,不輸出任何信息,腳本中經常使用
  • -s:不顯示錯誤信息
  • -v顯示不被匹配到的行
  • -w:顯示整個單詞
  • --color:以顏色突出顯示匹配到的字符串

與 grep 類似的工具還有 egrepfgrep,實用性並不強,其功能徹底能夠經過 grep 的擴展參數來實現,因此就再也不擴展。

好了,本次分享就到這裏了!謝謝你們,我是肖邦,歡迎關注後續的精彩內容。

推薦閱讀:

相關文章
相關標籤/搜索