1. 程式人生 > >grep和egrep的用法及解釋說明

grep和egrep的用法及解釋說明

init 新建 -i 網卡 前三 打印 內容 alt 一道

grep是一種強大的搜索工具,它能夠用正則表達式搜索文本,並把匹配的行打印出來。

-a 表示不要忽視二進制數據。

-A顯示列數,出了顯示符合樣本的那一行之外,並顯示該行之後的內容。

-b 在顯示符合樣本的那一行之外,並顯示該行之前的內容。

-c 計算符合樣本的列數。

-C顯示列數或顯示行數,除了顯示符合樣本的那一行之外,並顯示該行之前後的內容。

-d 進行動作,當指定要查找的目錄而非文件時,必須要使用這項參數,否則grep命令將匯報信息並停止動作。

-e 指定字符串作為查找文件內容的範本文件

-i 忽略字符大小寫的差別

-q 不顯示任何信息

-n 在顯示符合範本的那一行之前,表列出該列的標號。



例題一:用dmesg列出內核信息,並找出含“e1000”的那行。


技術分享圖片


解析 dmesg 可以列出內核產生的信息,通過grep來選取網卡的相關信息,那我想把e1000,讓他顯色,並且還要加上行號,該怎樣表示那?


技術分享圖片


我的第一步先讓關鍵字顯色,第二部是顯示行號,那麽如果我想在關鍵字的前三行後四行也顯示出來,該怎樣表示那


技術分享圖片


上面的很簡單,那我們來做這一道顯示CentOS7的/etc/grub2.cfg文件中,至少以一個空白字符開頭的且後面存非空白字符的行。

首先我們查看這個文件


技術分享圖片


至少以一個空白字符開頭的且後面存非空白字符的行^[[:space:]]\+"[^[:space:]]"

grep的用法有很多,後面都是跟一些命令的。例如。顯示三個用戶root,mage,wang的uid和默認shell,該怎樣顯示那,第一步也就是我們先要弄清楚,我們系統裏面有沒有這三個用戶,當讓一般都是沒有的,所以我們要新建mage,和王的用戶,


技術分享圖片


第二部我們就是要找出uid和默認的shell


技術分享圖片


這樣的話我們這一題就已經做好了,此題主要考察我們的egrep的用法以及uid和shell的具體使用方法。

找出/etc/rc.d/init.d/functions文件中行首為某單詞(包括下劃線)後面跟一個小括號的行,

本題就考察我們的egrep後面加一些常用命令的具體用法了,


技術分享圖片


利用擴展正則表達式分別表示0-9、10-99、100-199、200-249、250-255


技術分享圖片


這些題都是很簡單的主要就是來考察我們egrep的具體用法,

grep和egrep的用法及解釋說明