Linux 三劍客之 grep 教程詳解
我們在使用 Linux 系統(tǒng)中,grep 命令的使用尤為頻繁,熟練掌握 grep 的常見用法,能夠極大地提高你的工作效率。
grep 命令是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式,按照指定的模式去匹配,并把匹配的行打印出來。需要注意的是,grep 只支持匹配而不能替換匹配的內(nèi)容,替換的功能可以由 sed 來完成。
整體上 grep 還是比較簡單的,文中不會詳細(xì)列舉所有的選項(xiàng)和參數(shù),會以多個具體示例來說明 grep 的使用方法和場景,幫助你快速學(xué)會 grep 的常見用法。
示例實(shí)戰(zhàn)
廢話不說了,直接實(shí)戰(zhàn)。文章中的示例 需要一個樣例文件,文件內(nèi)容如下:

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

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

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

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

5. 把包含 syslog 以及上、下一行內(nèi)容過濾出來

6. 過濾某個關(guān)鍵詞,并輸出行號

7. 過濾不包含某關(guān)鍵詞,并輸出行號

8. 刪除掉空行

9. 過濾包含 root 或 syslog 的行

10. 查看當(dāng)前目錄中包含某關(guān)鍵詞的所有文件(這個很有用)

簡單總結(jié)
通過了一些簡單案例操作,我們應(yīng)該已經(jīng)熟悉了 grep 的常見用法,下邊再來簡單總結(jié) grep 的常見選項(xiàng),相信在實(shí)戰(zhàn)練習(xí)后再來總結(jié)應(yīng)該會有更好的學(xué)習(xí)效果。
-A:除了匹配行,額外顯示該行之后的N行-B:除了匹配行,額外顯示該行之前的N行-C:除了匹配行,額外顯示該行前后的N行-c:統(tǒng)計匹配的行數(shù)-e:實(shí)現(xiàn)多個選項(xiàng)間的邏輯 or 關(guān)系-E:支持?jǐn)U展的正則表達(dá)式-F:相當(dāng)于 fgrep-i:忽略大小寫-n:顯示匹配的行號-o:僅顯示匹配到的字符串-q:安靜模式,不輸出任何信息,腳本中常用-s:不顯示錯誤信息-v:顯示不被匹配到的行-w:顯示整個單詞--color:以顏色突出顯示匹配到的字符串
與 grep 相似的工具還有 egrep、fgrep,實(shí)用性并不強(qiáng),其功能完全可以通過 grep 的擴(kuò)展參數(shù)來實(shí)現(xiàn),所以就不再擴(kuò)展。
推薦閱讀:
推薦一款,比 Navicat 還要好用,功能還很強(qiáng)大的 工具!
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費(fèi)獲取!!


