Linux系統(tǒng)中g(shù)rep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。grep全稱是GlobalRegularExpressionPrint,表示全局正則表達式版本,它的使用權(quán)限是所有用戶。
grep的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到標(biāo)準(zhǔn)輸出,不影響原文件內(nèi)容。
grep可用于shell腳本,因為grep通過返回一個狀態(tài)值來說明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進行一些自動化的文本處理工作linux常用命令。
1.命令格式:
grep[option]patternfile
2.命令功能:
用于過濾/搜索的特定字符?墒褂谜齽t表達式能多種命令配合使用,使用上十分靈活。
3.命令參數(shù):
-a--text#不要忽略二進制的數(shù)據(jù)。
-A<顯示行數(shù)>--after-context=<顯示行數(shù)>#除了顯示符合范本樣式的那一列之外,并顯示該行之后的內(nèi)容。
-b--byte-offset#在顯示符合樣式的那一行之前,標(biāo)示出該行第一個字符的編號。
-B<顯示行數(shù)>--before-context=<顯示行數(shù)>#除了顯示符合樣式的那一行之外,并顯示該行之前的內(nèi)容。
-c--count#計算符合樣式的列數(shù)。
-C<顯示行數(shù)>--context=<顯示行數(shù)>或-<顯示行數(shù)>#除了顯示符合樣式的那一行之外,并顯示該行之前后的內(nèi)容。
-d<動作>--directories=<動作>#當(dāng)指定要查找的是目錄而非文件時,必須使用這項參數(shù),否則grep指令將回報信息并停止動作。
-e<范本樣式>--regexp=<范本樣式>#指定字符串做為查找文件內(nèi)容的樣式。
-E--extended-regexp#將樣式為延伸的普通表示法來使用。
-f<規(guī)則文件>--file=<規(guī)則文件>#指定規(guī)則文件,其內(nèi)容含有一個或多個規(guī)則樣式,讓grep查找符合規(guī)則條件的文件內(nèi)容,格式為每行一個規(guī)則樣式。
-F--fixed-regexp#將樣式視為固定字符串的列表。
-G--basic-regexp#將樣式視為普通的表示法來使用。
-h--no-filename#在顯示符合樣式的那一行之前,不標(biāo)示該行所屬的文件名稱。
-H--with-filename#在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
-i--ignore-case#忽略字符大小寫的差別。
-l--file-with-matches#列出文件內(nèi)容符合指定的樣式的文件名稱。
-L--files-without-match#列出文件內(nèi)容不符合指定的樣式的文件名稱。
-n--line-number#在顯示符合樣式的那一行之前,標(biāo)示出該行的列數(shù)編號。
-q--quiet或--silent#不顯示任何信息。
-r--recursive#此參數(shù)的效果和指定“-drecurse”參數(shù)相同linux常用命令。
-s--no-messages#不顯示錯誤信息。
-v--revert-match#顯示不包含匹配文本的所有行。
-V--version#顯示版本信息。
-w--word-regexp#只顯示全字符合的列。
-x--line-regexp#只顯示全列符合的列。
-y#此參數(shù)的效果和指定“-i”參數(shù)相同。