? ? ? ?當你有大量數據時,通常很難處理這些信息及提取有用信息。Linux系統提供了一些命令行工具來處理大量數據。那么今天南昌網絡公司小編先為大家介紹一下Linux系統中搜索數據的方法,其實用grep命令來幫助查找就行了。
? ? ? ?grep命令的命令行格式如下:
? ? ? ?grep [options] pattern [file]?
? ? ? ?grep命令會在輸入或指定的文件中查找包含匹配指定模式的字符的行。grep的輸出就是包含了匹配模式的行。
? ? ? ?下面兩個簡單的例子演示了使用grep命令來對文件file1(自定義文件,用來舉例用)進行搜索,下面我們來看看。
?
? ? ? ?$ grep three file1?
? ? ? ?three?
? ? ? ?$ grep t file1?
? ? ? ?two?
? ? ? ?three?
? ? ? ?$?
? ? ? ?第一個例子在文件file1中搜索能匹配模式three的文本。grep命令輸出了匹配了該模式的行。第二個例子在文件file1中搜索能匹配模式t的文本。這個例子里,file1中有兩行匹配了指定的模式,兩行都輸出了。
? ? ? ?由于grep命令非常流行,它經歷了大量的更新。有很多功能被加進了grep命令。如果查看一下它的手冊頁面,你會發現它是多么的無所不能。 ?
? ? ? ?如果要進行反向搜索(輸出不匹配該模式的行),可加-v參數。?
? ? ? ?$ grep -v t file1?
? ? ? ?one?
? ? ? ?four?
? ? ? ?five?
? ? ? ?$?
? ? ? ?如果要顯示匹配模式的行所在的行號,可加-n參數。?
? ? ? ?$ grep -n t file1?
? ? ? ?2:two?
? ? ? ?3:three?
? ? ? ?$?
? ? ? ?如果只要知道有多少行含有匹配的模式,可用-c參數。?
? ? ? ?$ grep -c t file1?
? ? ? ?2?
? ? ? ?$?
? ? ? ?如果要指定多個匹配模式,可用-e參數來指定每個模式。
?
? ? ? ?$ grep -e t -e f file1?
? ? ? ?two?
? ? ? ?three?
? ? ? ?four?
? ? ? ?five?
? ? ? ?$?
? ? ? ?這個例子輸出了含有字符t或字符f的所有行。?
? ? ? ?默認情況下,grep命令用基本的Unix風格正則表達式來匹配模式。Unix風格正則表達式采 用特殊字符來定義怎樣查找匹配的模式。?
? ? ? ?以下是在grep搜索中使用正則表達式的簡單例子。?
? ? ? ?$ grep [tf] file1?
? ? ? ?two?
? ? ? ?three?
? ? ? ?four?
? ? ? ?five?
? ? ? ?$?
? ? ? ?正則表達式中的方括號表明grep應該搜索包含t或者f字符的匹配。如果不用正則表達式,grep就會搜索匹配字符串tf的文本。?
? ? ? ?egrep命令是grep的一個衍生,支持POSIX擴展正則表達式。POSIX擴展正則表達式含有更多的可以用來指定匹配模式的字符。fgrep則是另外一個版本,支持將匹配模式指定為用換行符分隔的一列固定長度的字符串。這樣就可以把這列字符串放到一個文件中,然后在fgrep命令中用其在一個大型文件中搜索字符串了。?
? ? ? ?關于Linux中grep命令的用法你掌握了嗎?如果還有哪些不太明白的地方,可來電和我們聯系,百恒網絡專業為您解答。