我們今天要學(xué)習(xí)的grep實用程序是一個Unix工具,它與egrep和fgrep實用程序?qū)儆谕幌盗。這些都是用于對文件和文本執(zhí)行重復(fù)搜索任務(wù)的Unix工具。您可以通過grep命令指定特定搜索條件來搜索文件及其內(nèi)容以獲取有用的信息。
在這個命令格式中最小次數(shù)可以省略,vim默認的情況下最小次數(shù)為0.所以表達式a\{,5}可以匹配0到5個a.最大次數(shù)也可以省略,在這種情況下vim默認匹配無窮大.所以表達式a\{3,}最少可以匹配3個a,最多是盡可能的多.。??可以理解為搜索字符向量中匹配參數(shù)pattern的模型,fixed的邏輯值決定將pattern視為正則表達式或一個文本字符串,若fixed=ture,則視pattern為文本字符串(精確匹配)。grep支持正則表達式,正則表達式是一種文本匹配工具,一般編程語言都支持正則表達式。
g/re/p
該命令的目的與我們通過grep進行搜索的含義非常相似。此命令獲取與特定文本模式匹配的文件中的所有行。
讓我們進一步研究grep命令。在本文中l(wèi)inux命令大全,我們將解釋grep實用程序的安裝,并給出一些示例,通過這些示例,您可以確切地了解如何以及在何種情況下可以使用它。
我們在Ubuntu18.04 LTS系統(tǒng)上運行了本文中提到的命令和過程。
雖然大多數(shù)Linux系統(tǒng)默認使用grep實用程序,但如果您的系統(tǒng)上沒有安裝它,以下是安裝過程:
打開終端命令窗口,輸入“service smb start”命令,即可出現(xiàn)以下提示信息,表示samba服務(wù)已經(jīng)啟動。3、重新打開新的mac終端(第二步終端不要關(guān)閉),cd到越獄包路徑,輸入以下命令:。3、重新打開新的mac終端(第二步終端不要關(guān)閉),cd到越獄包路徑,輸入以下命令:。
linuxidc@linuxidc:~$sudo apt-get install grep
在安裝過程中出現(xiàn)y/n選項提示時輸入y。 之后,grep實用程序?qū)惭b在您的系統(tǒng)上。
您可以通過以下命令檢查grep版本來驗證安裝:
linuxidc@linuxidc:~$grep --version
將grep命令與示例一起使用
grep命令可以通過介紹可以使用它的一些場景來得到最好的解釋。 這里有一些例子:
搜索文件
如果要搜索包含特定關(guān)鍵字的文件名,可以通過grep命令過濾文件列表,如下所示:
句法:
$ ls -l | grep -i “searchword”
例子:
linuxidc@linuxidc:~$ls -l | grep -i linuxidc
此命令將列出當(dāng)前目錄中包含單詞“l(fā)inuxidc”的文件名的所有文件。
在文件中搜索字符串
您可以通過grep命令從包含特定文本字符串的文件中獲取一個句子。
句法:
grep “string” filename
例:
linuxidc@linuxidc:~$grep 'Ubuntu' linuxidc.txt
我的示例文件linuxidc.txt包含具有字符串“Ubuntu”的句子,您可以在上面的輸出中看到該句子。 關(guān)鍵字和字符串在搜索結(jié)果中以彩色形式顯示。
在多個文件中搜索字符串
如果您想從同一類型的所有文件中搜索包含您的文本字符串的句子,grep命令隨時為您服務(wù)。
語法1:
$ grep “string” filenameKeyword*
語法 2:
$ grep “string” *.extension
例子1:
linuxidc@linuxidc:~$grep 'Ubuntu' linuxidc*
此命令將從包含關(guān)鍵字“l(fā)inuxidc”的文件名的所有文件中獲取包含字符串“Ubuntu”的所有句子。