在線客服系統(tǒng)
十三年專注于網(wǎng)站建設(shè)與互聯(lián)網(wǎng)應(yīng)用開發(fā),低調(diào)、有情懷的網(wǎng)絡(luò)應(yīng)用服務(wù)商!
南昌百恒科技微信公眾號(hào) 掃一掃關(guān)注
tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒科技微信公眾號(hào)

linux中g(shù)rep命令如何使用

百恒 2017-10-19 17:22:06 3387
? ? ? ?當(dāng)你有大量數(shù)據(jù)時(shí),通常很難處理這些信息及提取有用信息。Linux系統(tǒng)提供了一些命令行工具來處理大量數(shù)據(jù)。那么今天南昌網(wǎng)絡(luò)公司小編先為大家介紹一下Linux系統(tǒng)中搜索數(shù)據(jù)的方法,其實(shí)用grep命令來幫助查找就行了。

? ? ? ?grep命令的命令行格式如下:

? ? ? ?grep [options] pattern [file]?

? ? ? ?grep命令會(huì)在輸入或指定的文件中查找包含匹配指定模式的字符的行。grep的輸出就是包含了匹配模式的行。

? ? ? ?下面兩個(gè)簡單的例子演示了使用grep命令來對(duì)文件file1(自定義文件,用來舉例用)進(jìn)行搜索,下面我們來看看。
?
? ? ? ?$ grep three file1?
? ? ? ?three?
? ? ? ?$ grep t file1?
? ? ? ?two?
? ? ? ?three?
? ? ? ?$?

? ? ? ?第一個(gè)例子在文件file1中搜索能匹配模式three的文本。grep命令輸出了匹配了該模式的行。第二個(gè)例子在文件file1中搜索能匹配模式t的文本。這個(gè)例子里,file1中有兩行匹配了指定的模式,兩行都輸出了。

? ? ? ?由于grep命令非常流行,它經(jīng)歷了大量的更新。有很多功能被加進(jìn)了grep命令。如果查看一下它的手冊(cè)頁面,你會(huì)發(fā)現(xiàn)它是多么的無所不能。 ?

? ? ? ?如果要進(jìn)行反向搜索(輸出不匹配該模式的行),可加-v參數(shù)。?
? ? ? ?$ grep -v t file1?
? ? ? ?one?
? ? ? ?four?
? ? ? ?five?
? ? ? ?$?

? ? ? ?如果要顯示匹配模式的行所在的行號(hào),可加-n參數(shù)。?

? ? ? ?$ grep -n t file1?
? ? ? ?2:two?
? ? ? ?3:three?
? ? ? ?$?
? ? ? ?如果只要知道有多少行含有匹配的模式,可用-c參數(shù)。?

? ? ? ?$ grep -c t file1?
? ? ? ?2?
? ? ? ?$?
? ? ? ?如果要指定多個(gè)匹配模式,可用-e參數(shù)來指定每個(gè)模式。
?
? ? ? ?$ grep -e t -e f file1?
? ? ? ?two?
? ? ? ?three?
? ? ? ?four?
? ? ? ?five?
? ? ? ?$?
? ? ? ?這個(gè)例子輸出了含有字符t或字符f的所有行。?

? ? ? ?默認(rèn)情況下,grep命令用基本的Unix風(fēng)格正則表達(dá)式來匹配模式。Unix風(fēng)格正則表達(dá)式采 用特殊字符來定義怎樣查找匹配的模式。?

? ? ? ?以下是在grep搜索中使用正則表達(dá)式的簡單例子。?
? ? ? ?$ grep [tf] file1?
? ? ? ?two?
? ? ? ?three?
? ? ? ?four?
? ? ? ?five?
? ? ? ?$?

? ? ? ?正則表達(dá)式中的方括號(hào)表明grep應(yīng)該搜索包含t或者f字符的匹配。如果不用正則表達(dá)式,grep就會(huì)搜索匹配字符串tf的文本。?

? ? ? ?egrep命令是grep的一個(gè)衍生,支持POSIX擴(kuò)展正則表達(dá)式。POSIX擴(kuò)展正則表達(dá)式含有更多的可以用來指定匹配模式的字符。fgrep則是另外一個(gè)版本,支持將匹配模式指定為用換行符分隔的一列固定長度的字符串。這樣就可以把這列字符串放到一個(gè)文件中,然后在fgrep命令中用其在一個(gè)大型文件中搜索字符串了。?

? ? ? ?關(guān)于Linux中g(shù)rep命令的用法你掌握了嗎?如果還有哪些不太明白的地方,可來電和我們聯(lián)系,百恒網(wǎng)絡(luò)專業(yè)為您解答。
400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)

歡迎您的光顧,我們將竭誠為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
售后服務(wù) 售后服務(wù)
 
×