egrep

egrep命令是一個搜尋檔案獲得模式,使用些命令可以任意搜尋檔案中的字元串和符號,也可以為你搜尋一個多個檔案的字元串,一個提示符可以是單個字元、一個字元串、一個字、一個句子。

egrep 命令

搜尋檔案獲得模式。

語法

egrep [ -h ] [ -i ] [ -p [ Separator ] ] [ -s ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ -b ] [ -n ] | [ -c | -l | -q ] ] { { -ePattern | -fStringFile } ... | Pattern } [ File ... ]

描述

egrep 命令會在輸入檔案(預設值為標準輸入)中搜尋與用 Pattern 參數指定的模式相匹配的行。這些模式是完整的 正則表達式就像在 ed 命令中的那樣(除了 \ (反斜槓)和 \\ (雙反斜槓))。下列規則也套用於 egrep 命令:
* 一個正則表達式後面帶一個 + (加號)會匹配一個或多個的正則表達式。
* 一個正則表達式後面帶一個 ? (問號)會匹配零個或一個該正則表達式。
* 由 | (豎線)或者換行符隔開的多個正則表達式會匹配與任何一個正則表達式所匹配的字元串。
* 一個正則表達式可以被包括在“()”(括弧)中進行分組。
換行符將不會被正則表達式匹配。
運算符的優先順序是 [, ], *, ?, +, 合併, | 和換行符。
注意: egrep 命令與 grep 命令帶 -E 標誌是一樣的,除了錯誤訊息和使用訊息不同以及 -s 標誌的功能不同之外。
egrep 命令會顯示包含該匹配行的檔案,如果您指定了多於一個 File 參數的話。對 shell 有特殊含義的字元 ($, *, [, |, ^, (, ), \ ) 出現在 Pattern 參數中時必須帶雙引號。如果 Pattern 參數不是簡單字元串,通常必須用單引號將整個模式括起來。在表達式中比如 [a-z],減號表示通過當前整理序列。整理序列可以定義等價的類以供在字元範圍中使用。它使用了快速確定性的算法,有時需要外部空間。
注意:
1. 行被限制在 2048 位元組。
2. 段落(在 -p 標誌下)當前限制在 5000 字元長。
3. 不要在特殊檔案上運行 grep 命令,因為它會產生不可預測的結果。
4. 輸入行不應該包含 NULL 字元。
5. 輸入檔案應該以換行符結束。
6. 儘管有些標誌可以同時被指定,但是有些標誌會覆蓋其他的標誌。例如,如果同時指定 -l 和 -n ,只有檔案名稱寫入到標準輸出中去。

標誌

-b 在每行前面加上找到該行的塊號碼。使用此標誌有助於按照上下文查找磁碟塊號碼。-b 標誌不能用於來自標準輸入和管道的輸入。
-c 僅顯示匹配行的計數。
-e 模式 指定一個模式。這象一個簡單的模式,但是它在 模式 以一個 -(負號)開始時很有用。
-f StringFile 指定包含字元串的檔案。
-h 當處理多個檔案時排除檔案名稱。
-i 當進行比較時忽略字元的大小寫。
-l 列出包含匹配行的檔案名稱(一次)。檔案名稱之間用換行符加以分隔。如果搜尋標準輸入,會返回一個 "(StandardInput)" 路徑名。
-n 在每行之前加上該行在檔案中的相對行號。
-p[ Separator] 顯示包含匹配行的整個段落。段落之間將按照分隔設定 Separator參數指定的段落分隔設定加以定界,這些分隔設定是與搜尋模式有著相同格式的模式。包含段落分隔設定的行將僅用作分隔設定;它們不會被包含在輸出中。預設的段落分隔設定是空白行。
-q 禁止所有的輸出到標準輸出,不管匹配行。如果選中輸入行,以 0 狀態退出。
-s 僅顯示出錯訊息。這點對檢查狀態有用。
-v 顯示除了與指定的模式匹配的行之外的所有行。
-w 執行單詞搜尋。
-x 顯示與指定模式精確匹配而不含其它字元的行。
-y 當進行比較時忽略字元的大小寫。
退出狀態
此命令返回下列出口值:
0 找到匹配項。
1 未找到匹配項。
>1 發現語法錯誤,或者檔案不可訪問(即使找到了匹配項)。

示例

要想使用包含模式匹配字 +, ?, |, (, 和 ) 中的一個擴展模式,請輸入:
egrep "\(([A-z]+|[0-9]+)\)" my.txt
它會顯示那些包含在圓括弧里字母或數字的行,而不是在圓括弧里包含數字字母組合的行。它會匹配 (y) 和 (783902),而不是 (alpha19c)。
注意:當使用 egrep 命令時 \ ( (斜槓後跟著開括弧)或者 \ ( (斜槓後跟著閉括弧)匹配文本中的括弧,但是 ( (開括弧)和 ) (閉括弧)都是模式組部分中的特殊字元。在使用 grep 命令時,逆向也成立。

檔案

/usr/bin/egrep 包含指向 egrep 命令的硬連結
/bin/egrep 指定了指向 egrep 命令的符號連結。

相關詞條

相關搜尋

熱門詞條

聯絡我們