『壹』 grep語法
grep指令用於查找內容包含指滑攜蘆定的範本樣式的文件,如果發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何文件名稱,或是給予的文件名為-,則grep指令會從標准輸入設備讀取數據。
語法
grep[-abcEFGhHilLnqrsvVwxy][-A<顯示行數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本文件>][--help][範本樣式][文件或目錄...]
參數
-a或--text:不要忽視二進制的數據。
-A<顯示行數>或--after-context=<顯示行數>:除了顯示符合範本樣式的那一列之外,並顯示該行之後的內容。
-b或--byte-offset:在顯示符合樣式的那一行之前,標示出該行第一個字元的編號。
-B<顯示行數>或--before-context=<顯示行數>:除了顯示符合樣式的那一行之外,並顯示該行之前的內容。
-c或--conunt:計算符合樣式的列數。
-C<顯示行數>或--context=<顯示行數>或-<顯示行數>:除了顯示符合樣式的那一行之外,並顯示該行之前後的內容。
-d<動作>或--directories=<動作>:當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep指令將回報信息並停止動作。
-e<範本樣式>或--regexp=<範本樣式>:指定字元串做為查找文件內容的樣式。
-E或--extended-regexp:將樣式為延伸的正則表達式來使用。
-f<規則文件>或--file=<規則文件>:指定規則文件,其內容含有一個或多個規則樣式,讓grep查找符合規則條件的文件內容,格式為每行一個規則樣式。
-F或--fixed-regexp:將樣式視為固定字元串的列表。
-G或--basic-regexp:將樣式視為普通的表示法來使用。
-h或--no-filename:在顯示符合樣式的那一行之前,不標示該行所屬的文件名稱。
-H或--with-filename:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
-i或--ignore-case:忽略字元大小寫的差別。信帶
-l或--file-with-matches:列出文件內容符合指定的樣式的文件名稱。
-L或--files-without-match:列出文件內容不符合指定的隱型樣式的文件名稱。
-n或--line-number:在顯示符合樣式的那一行之前,標示出該行的列數編號。
-o或--only-matching:只顯示匹配PATTERN部分。
-q或--quiet或--silent:不顯示任何信息。
-r或--recursive:此參數的效果和指定"-d recurse"參數相同。
-s或--no-messages:不顯示錯誤信息。
-v或--invert-match:顯示不包含匹配文本的所有行。
-V或--version:顯示版本信息。
-w或--word-regexp:只顯示全字元合的列。
-x--line-regexp:只顯示全列符合的列。
-y:此參數的效果和指定"-i"參數相同。
『貳』 grep命令詳解
linux grep命令:
<p fc05="" fc11="" nbw-blog="" ztag="" js-fs2"="">
1、作用
Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行列印出來。grep全稱是Global Regular Expression print,表示全局正則表達式版本,它的使用許可權是所有用戶。
2、格式
grep [options]
3、主要參數
[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大 小寫(只適用於單字元)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字元的文件名。
-n:顯示匹配行及 行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
: 忽略正則表達式中特殊字元的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
<:從匹配正則表達 式的行開始。
>:到匹配正則表達式的行結束。
[ ]:單個字元,如[A]即A符合要求 。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的單個字元。
* :有字元,長度可以為0。
4.grep命令使用簡單實例
$ grep 『test』 d*
顯示所有以d開頭的文件中包含 test的行。
$ grep 『test』 aa bb cc
顯示在aa,bb,cc文件中匹配test的行。
$ grep 『[a-z]{5}』 aa
顯示所有包含每個字元串至少有5個連續小寫字元的字元串的行。
$ grep 『w(es)t.*1′ aa
(2)grep命令後不帶文件擴展閱讀:
egrep 命令,搜索文件獲得模式。egrep 命令會在輸入文件(預設值為標准輸入)中搜索與Pattern 參數指定的模式相匹配的行。這些模式是完整的正則表達式就像在 ed 命令中的那樣(除了 (反斜杠)和 \ (雙反斜杠))。下列規則也應用於 egrep 命令:
一個正則表達式後面帶一個 + (加號)會匹配一個或多個的正則表達式,一個正則表達式後面帶一個 ? (問號)會匹配零個或一個該正則表達式,由 | (豎線)或者換行符隔開的多個正則表達式會匹配與任何一個正則表達式所匹配的字元串。
一個正則表達式可以被包括在「()」(括弧)中進行分組,換行符將不會被正則表達式匹配,運算符的優先順序是 [, ], *, ?, +, 合並, | 和換行符。
注意: egrep 命令與 grep 命令帶 -E 標志是一樣的,除了錯誤消息和使用消息不同以及 -s 標志的功能不同之外,egrep 命令會顯示包含該匹配行的文件,如果指定了多於一個 File 參數的話。
參考資料:網路—GREP
參考資料:網路—linux命令
『叄』 grep 命令詳解
grep命令的由來可以追溯到UNIX誕生的早期,在UNIX系統中,搜索的模式被稱為正則表達,為了要徹底搜索一個文件,有的用戶在要搜索的字元串前加上前綴global,一旦找到相匹配的內容,用戶就像將其輸出到屏幕上,而將這一系列的操作整合到一起就是global
regular expressions print,而這也就是grep命令的全稱。
grep命令能夠在一個或多個文件中,搜索某一特定的字元模式(也就是正則表達式),此模式可以是單一的字元、字元串、單詞或句子。
正則表達式是描述一組字元串的一個模式,正則表達式的構成模仿了數學表達式,通過使用操作符將較小的表達式組合成一個新的表達式。正和李則表達式可以是一些純文本文字,也可以是用來產生模式的一些特殊字元。為了進一步定義一個搜索模式,grep
命令支持如表 1 所示的這幾種正則表達式的元字團橋符(也就是通配符)。
grep命令的基本格式喚或遲如下:
[root@localhost ~]# grep [選項] 模式 文件名
這里的模式,要麼是字元(串),要麼是正則表達式。
grep命令常用選項及含義:
-c:僅列出文件中包含模式的行數。
-i:忽略模式中的字母大小寫。
-l:列出帶有匹配行的文件名。
-n:在每一行的最前面列出行號。
-v:列出沒有匹配模式的行。
-w:把表達式當做一個完整的單字元來搜尋,忽略那些部分匹配的行。
注意,如果是搜索多個文件,grep命令的搜索結果只顯示文件中發現匹配模式的文件名;而如果搜索單個文件,grep命令的結果將顯示每一個包含匹配模式的行。