Man page - egrep(1)

Packages contains this manual

Available languages:

en fr pt_BR es pl nl sv ja uk ru ro zh_TW zh_CN de

Manual

GREP

NAME
總 覽 SYNOPSIS
描 述 DESCRIPTION
選 項 OPTIONS
正 則 表 示 式 REGULAR EXPRESSIONS
環 境 變 數 ENVIRONMENT VARIABLES
診 斷 DIAGNOSTICS
BUGS
[中 文 版 維 護 人 ]
[中 文 版 最 新 更 新 ]
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :


NAME

grep, egrep, fgrep - 列 印 匹 配 給 定 模 式 的 行

總 覽 SYNOPSIS

grep [ options ] PATTERN [ FILE ...]
grep
[ options ] [ -e PATTERN | -f FILE ] [ FILE ...]

描 述 DESCRIPTION

Grep 搜 尋 以 FILE 命 名 的 檔 案 輸 入 (或 者 是 標 準 輸 入 , 如 果 沒 有 指 定 檔 名 , 或 者 給 出 的 檔 名 是 - 的 話 ), 尋 找 含 有 與 給 定 的 模 式 PATTERN 相 匹 配 的 內 容 的 行 。 預 設 情 況 下 , grep 將 把 含 有 匹 配 內 容 的 行 打 印 出 來 。

另 外 , 也 可 以 使 用 兩 個 變 種 程 式 egrep fgrep Egrep grep -E 相 同 。 Fgrep grep -F 相 同 。

選 項 OPTIONS

-A NUM , --after-context= NUM

打 印 出 緊 隨 匹 配 的 行 之 後 的 下 文 NUM 行 。 在 相 鄰 的 匹 配 組 之 間 將 會 列 印 內 容 是 -- 的 一 行 。

-a , --text

將 一 個 二 進 位 制 檔 案 視 為 一 個 文 字 檔 案 來 處 理 ; 它 與 --binary-files=text 選 項 等 價 。

-B NUM , --before-context= NUM

打 印 出 匹 配 的 行 之 前 的 上 文 NUM 行 。 在 相 鄰 的 匹 配 組 之 間 將 會 列 印 內 容 是 -- 的 一 行 。

-C NUM , --context= NUM

打 印 出 匹 配 的 行 的 上 下 文 前 後 各 NUM 行 。 在 相 鄰 的 匹 配 組 之 間 將 會 列 印 內 容 是 -- 的 一 行 。

-b , --byte-offset

在 輸 出 的 每 行 前 面 同 時 打 印 出 當 前 行 在 輸 入 檔 案 中 的 位 元 組 偏 移 量 。

--binary-files= TYPE

如 果 一 個 檔 案 的 起 始 幾 個 位 元 組 表 明 檔 案 包 含 二 進 位 制 資 料 , 那 麼 假 定 檔 案 是 TYPE 型 別 的 。 預 設 情 況 下 , TYPE binary , 並 且 grep 一 般 會 輸 出 一 個 一 行 的 訊 息 說 一 個 二 進 位 制 檔 案 匹 配 , 或 者 如 果 沒 有 匹 配 的 話 就 沒 有 訊 息 輸 出 。 如 果 型 別 TYPE without-match , 那 麼 grep 假 定 二 進 位 制 檔 案 不 會 匹 配 ; 這 樣 做 與 -I 選 項 等 價 。 如 果 型 別 TYPE text , 那 麼 grep 將 一 個 二 進 位 制 檔 案 視 為 文 字 檔 案 來 處 理 ; 它 與 -a 選 項 等 價 。 警 告 : grep --binary-files=text 可 能 會 輸 出 二 進 位 制 的 無 用 內 容 。 如 果 輸 出 裝 置 是 一 個 終 端 , 並 且 終 端 的 驅 動 將 這 些 輸 出 中 的 一 些 當 作 命 令 , 可 能 會 帶 來 惡 劣 的 副 作 用 。

--colour[= WHEN ] , --color[= WHEN ]

在 匹 配 的 行 周 圍 以 GREP_COLOR 環 境 變 數 中 指 定 的 記 號 來 標 記 。 WHEN 可 以 是 ‘never’, ‘always’, 或 是 ‘auto’。

-c , --count

禁 止 通 常 的 輸 出 ; 作 為 替 代 , 為 每 一 個 輸 入 檔 案 列 印 一 個 匹 配 的 行 的 總 數 。 如 果 使 用 -v , --invert-match 選 項 (參 見 下 面 ), 將 是 不 匹 配 的 行 的 總 數 。

-D ACTION , --devices= ACTION

如 果 輸 入 檔 案 是 一 個 裝 置 , FIFO 或 是 套 接 字 (socket) , 使 用 動 作 ACTION 來 處 理 它 。 預 設 情 況 下 , 動 作 ACTION read , 意 味 著 裝 置 將 視 為 普 通 檔 案 那 樣 來 讀 。 如 果 動 作 ACTION skip , 將 不 處 理 而 直 接 跳 過 裝 置 。

-d ACTION , --directories= ACTION

如 果 輸 入 檔 案 是 一 個 目 錄 , 使 用 動 作 ACTION 來 處 理 它 。 預 設 情 況 下 , 動 作 ACTION read , 意 味 著 目 錄 將 視 為 普 通 檔 案 那 樣 來 讀 。 如 果 動 作 ACTION skip , 將 不 處 理 而 直 接 跳 過 目 錄 。 如 果 動 作 ACTION recurse grep 將 遞 迴 地 讀 每 一 目 錄 下 的 所 有 檔 案 。 這 樣 做 和 -r 選 項 等 價 。

-E , --extended-regexp

將 模 式 PATTERN 作 為 一 個 擴 充 套 件 的 正 則 表 示 式 來 解 釋 (參 見 下 面 )。

-e PATTERN , --regexp= PATTERN

使 用 模 式 PATTERN 作 為 模 式 ; 在 保 護 以 - 為 起 始 的 模 式 時 有 用 。

-F , --fixed-strings

將 模 式 PATTERN 視 為 一 個 固 定 的 字 串 的 列 表 , 用 新 行 (newlines) 分 隔 , 只 要 匹 配 其 中 之 一 即 可 。

-P , --perl-regexp

將 模 式 PATTERN 作 為 一 個 Perl 正 則 表 示 式 來 解 釋 。

-f FILE , --file= FILE

從 檔 案 FILE 中 獲 取 模 式 , 每 行 一 個 。 空 檔 案 含 有 0個 模 式 , 因 此 不 匹 配 任 何 東 西 。

-G , --basic-regexp

將 模 式 PATTERN 作 為 一 個 基 本 的 正 則 表 示 式 (參 見 下 面 ) 來 解 釋 。 這 是 預 設 值 。

-H , --with-filename

為 每 個 匹 配 列 印 檔 名 。

-h , --no-filename

當 搜 尋 多 個 檔 案 時 , 禁 止 在 輸 出 的 前 面 加 上 檔 名 字 首 。

--help

輸 出 一 個 簡 短 的 幫 助 資 訊 。

-I

處 理 一 個 二 進 位 制 檔 案 , 但 是 認 為 它 不 包 含 匹 配 的 內 容 。 這 和 --binary-files=without-match 選 項 等 價 。

-i , --ignore-case

忽 略 模 式 PATTERN 和 輸 入 檔 案 中 的 大 小 寫 的 分 別 。

-L , --files-without-match

禁 止 通 常 的 輸 出 ; 作 為 替 代 , 打 印 出 每 個 在 通 常 情 況 下 不 會 產 生 輸 出 的 輸 入 檔 案 的 名 字 。 對 每 個 檔 案 的 掃 描 在 遇 到 第 一 個 匹 配 的 時 候 就 會 停 止 。

-l , --files-with-matches

禁 止 通 常 的 輸 出 ; 作 為 替 代 , 打 印 出 每 個 在 通 常 情 況 下 會 產 生 輸 出 的 輸 入 檔 案 的 名 字 。 對 每 個 檔 案 的 掃 描 在 遇 到 第 一 個 匹 配 的 時 候 就 會 停 止 。

-m NUM , --max-count= NUM

在 找 到 NUM 個 匹 配 的 行 之 後 , 不 再 讀 這 個 檔 案 。 如 果 輸 入 是 來 自 一 個 普 通 檔 案 的 標 準 輸 入 , 並 且 已 經 輸 出 了 NUM 個 匹 配 的 行 , grep 保 證 標 準 輸 入 被 定 位 於 退 出 時 的 最 後 一 次 匹 配 的 行 之 後 , 不 管 是 否 指 定 了 要 輸 出 緊 隨 的 下 文 的 行 。 這 樣 可 以 使 一 個 呼 叫 程 式 恢 復 搜 尋 。 當 grep NUM 個 匹 配 的 行 之 後 停 止 , 它 會 輸 出 任 何 緊 隨 的 下 文 的 行 。 當 使 用 了 -c --count 選 項 的 時 候 , grep 不 會 輸 出 比 NUM 更 多 的 行 。 當 指 定 了 -v --invert-match 選 項 的 時 候 , grep 會 在 輸 出 NUM 個 不 匹 配 的 行 之 後 停 止 。

--mmap

如 果 可 能 的 話 , 使 用 mmap (2) 系 統 呼 叫 來 讀 取 輸 入 , 而 不 是 預 設 的 read (2) 系 統 呼 叫 。 在 一 些 情 況 下 , --mmap 提 供 較 好 的 效 能 。 但 是 , 如 果 一 個 輸 入 檔 案 在 grep 正 在 操 作 時 大 小 發 生 變 化 , 或 者 如 果 發 生 了 一 個 I/O 錯 誤 , --mmap 可 能 導 致 不 可 知 的 行 為 (包 括 core dumps)。

-n , --line-number

在 輸 出 的 每 行 前 面 加 上 它 所 在 的 檔 案 中 它 的 行 號 。

-o , --only-matching

只 顯 示 匹 配 的 行 中 與 PATTERN 相 匹 配 的 部 分 。

--label= LABEL

將 實 際 上 來 自 標 準 輸 入 的 輸 入 視 為 來 自 輸 入 檔 案 LABEL 。 這 對 於 zgrep 這 樣 的 工 具 非 常 有 用 , 例 如 : gzip -cd foo.gz |grep --label=foo something

--line-buffering

使 用 行 緩 衝 , it can be a performance penality.

-q , --quiet , --silent

安 靜 。 不 向 標 準 輸 出 寫 任 何 東 西 。 如 果 找 到 任 何 匹 配 的 內 容 就 立 即 以 狀 態 值 0 退 出 , 即 使 檢 測 到 了 錯 誤 。 參 見 -s --no-messages 選 項 。

-R , -r , --recursive

遞 迴 地 讀 每 一 目 錄 下 的 所 有 檔 案 。 這 樣 做 和 -d recurse 選 項 等 價 。

--include= PATTERN

僅 僅 在 搜 尋 匹 配 PATTERN 的 檔 案 時 在 目 錄 中 遞 迴 搜 尋 。

--exclude= PATTERN

在 目 錄 中 遞 迴 搜 尋 , 但 是 跳 過 匹 配 PATTERN 的 檔 案 。

-s , --no-messages

禁 止 輸 出 關 於 檔 案 不 存 在 或 不 可 讀 的 錯 誤 資 訊 。 對 於 可 移 植 性 需 要 注 意 : 與 GNU grep 不 同 , 傳 統 的 grep 不 遵 守 POSIX.2 規 範 , 因 為 傳 統 的 grep 缺 少 一 個 -q 選 項 , 而 它 的 -s 選 項 與 GNU grep -q 選 項 行 為 相 似 。 需 要 可 移 植 到 傳 統 grep 的 shell 指 令 碼 應 當 避 免 使 用 -q -s 選 項 , 而 應 當 將 輸 出 重 定 向 到 /dev/null 。

-U , --binary

將 檔 案 視 為 二 進 位 制 。 預 設 情 況 下 , 在 MS-DOS 和 MS-Windows 系 統 中 , grep 透 過 從 檔 案 中 讀 取 頭 部 的 32kB 內 容 來 判 斷 它 的 檔 案 型 別 。 如 果 grep 判 斷 檔 案 是 一 個 文 字 檔 案 , 它 將 原 始 檔 案 內 容 中 的 CR 字 元 去 除 (使 得 含 有 ˆ $ 的 正 則 表 示 式 可 以 正 常 工 作 )。 指 定 -U 將 不 進 行 這 些 工 作 , 而 使 所 有 檔 案 保 持 不 變 地 讀 取 並 傳 遞 給 匹 配 機 制 。 如 果 檔 案 是 一 個 以 CR/LF 換 行 的 文 字 檔 案 , 這 樣 作 將 導 致 一 些 正 則 表 示 式 失 敗 。 這 個 選 項 在 MS-DOS 和 MS-Windows 之 外 的 系 統 中 無 效 。

-u , --unix-byte-offsets

報 告 Unix 風 格 的 位 元 組 偏 移 量 。 這 個 開 關 使 得 grep 報 告 位 元 組 偏 移 量 時 , 將 檔 案 作 為 Unix 風 格 的 文 字 檔 案 看 待 , 也 就 是 說 將 CR 字 元 去 掉 。 這 將 產 生 與 在 一 臺 Unix 主 機 上 執 行 grep 完 全 相 同 的 結 果 。 除 非 同 時 使 用 -b 選 項 , 否 則 這 個 選 項 無 效 。 這 個 選 項 在 MS-DOS 和 MS-Windows 之 外 的 系 統 中 無 效 。

-V , --version

向 標 準 錯 誤 輸 出 列 印 grep 的 版 本 號 。 版 本 號 應 當 包 含 在 所 有 的 bug 報 告 中 (參 見 下 面 )。

-v , --invert-match

改 變 匹 配 的 意 義 , 只 選 擇 不 匹 配 的 行 。

-w , --word-regexp

只 選 擇 含 有 能 組 成 完 整 的 詞 的 匹 配 的 行 。 判 斷 方 法 是 匹 配 的 子 字 串 必 須 是 一 行 的 開 始 , 或 者 是 在 一 個 不 可 能 是 詞 的 組 成 的 字 元 之 後 。 與 此 相 似 , 它 必 須 是 一 行 的 結 束 , 或 者 是 在 一 個 不 可 能 是 詞 的 組 成 的 字 元 之 前 。 詞 的 組 成 字 元 是 字 母 , 數 字 , 還 有 下 劃 線 。

-x , --line-regexp

只 選 擇 能 匹 配 完 整 一 行 的 匹 配 。

-y

-i 的 同 義 詞 , 廢 棄 不 用 。

-Z , --null

輸 出 一 個 全 零 位 元 組 ( ASCII 碼 中 的 NUL 字 元 ) 而 不 是 一 般 情 況 下 輸 出 在 檔 名 之 後 的 字 元 。 例 如 , grep -lZ 在 每 個 檔 名 之 後 輸 出 一 個 全 零 位 元 組 而 不 是 普 通 的 新 行 符 。 這 個 選 項 使 得 輸 出 清 楚 明 白 , 即 使 檔 名 的 表 示 中 包 含 特 殊 字 元 比 如 新 行 符 。 這 個 選 項 可 以 與 命 令 find -print0 , perl -0 , sort -z , 和 xargs -0 一 起 使 用 , 來 處 理 任 意 的 檔 名 , 即 使 是 那 些 含 有 新 行 符 的 檔 名 。

正 則 表 示 式 REGULAR EXPRESSIONS

一 個 正 則 表 示 式 是 一 個 描 述 了 一 個 字 串 集 合 的 模 式 。 正 則 表 示 式 的 構 造 類 似 於 算 術 表 示 式 , 使 用 各 種 各 樣 的 運 算 子 來 將 更 小 的 表 示 式 連 在 一 起 。

Grep 能 理 解 兩 種 不 同 版 本 的 正 則 表 示 式 語 法 : “basic” 和 “extended”。 在 GNU grep 中 , 兩 種 語 法 可 以 實 現 的 功 能 是 沒 有 區 別 的 。 在 其 他 實 現 中 , 基 本 (basic) 正 則 表 示 式 表 達 能 力 要 弱 一 點 。 下 面 的 描 述 適 用 於 擴 充 套 件 的 (extended) 正 則 表 示 式 , 它 與 基 本 正 則 表 示 式 的 區 別 會 在 最 後 做 一 個 總 結 。

基 本 的 構 造 塊 是 匹 配 單 個 字 元 的 正 則 表 示 式 。 大 部 分 字 元 , 包 括 所 有 字 母 和 數 字 , 是 匹 配 它 們 自 身 的 正 則 表 示 式 。 任 何 具 有 特 殊 含 義 的 元 字 元 可 以 透 過 前 置 一 個 反 斜 槓 來 引 用 。 (may be quoted by preceding it with a backslash.)

方 括 號 表 示 式 (bracket) 是 一 個 字 元 序 列 , 放 在 [ ] 當 中 。 它 匹 配 序 列 中 的 任 何 一 個 字 元 ; 如 果 序 列 中 的 第 一 個 字 元 是 脫 字 元 (caret) ˆ 那 麼 它 匹 配 不 在 序 列 中 的 任 何 一 個 字 元 。 例 如 , 正 則 表 示 式 [0123456789] 匹 配 任 何 一 個 數 字 。

在 方 括 號 表 示 式 之 中 , 一 個 範 圍 表 示 式 (range) 由 兩 個 字 元 組 成 , 中 間 用 一 個 連 字 元 (hyphen) 分 隔 。 它 匹 配 在 這 兩 個 字 元 之 間 的 任 何 一 個 字 元 , 使 用 本 地 化 的 序 列 順 序 和 字 元 集 。 (that sorts between the two characters,inclusive, using the locale’s collating sequence and character set.) 例 如 , 在 預 設 的 C locale中 , [a-d] [abcd] 等 價 。 典 型 的 , 許 多 locale 將 字 元 以 字 典 順 序 排 序 , 在 這 些 locale 中 , [a-d] 不 與 [abcd] 等 價 ; 例 如 它 可 能 與 [aBbCcDd] 等 價 。 要 獲 得 傳 統 的 對 方 括 號 表 示 式 的 解 釋 , 可 以 設 定 環 境 變 數 LC_ALL 值 為 C 來 使 用 locale C 。

最 後 , 在 方 括 號 表 示 式 中 有 一 些 預 定 義 的 字 元 類 , 如 下 所 示 。 它 們 的 名 字 是 自 說 明 的 , 它 們 是 [:alnum:] (字 母 和 數 字 ), [:alpha:] (字 母 ), [:cntrl:] (), [:digit:] (數 字 ), [:graph:] (), [:lower:] (小 寫 字 母 ), [:print:] (可 列 印 字 元 ), [:punct:] (), [:space:] (空 格 ), [:upper:] (大 寫 字 母 ), 和 [:xdigit:] 。 例 如 , [[:alnum:]] 意 思 是 [0-9A-Za-z] , 但 是 後 一 種 表 示 方 法 依 賴 於 locale C 和 ASCII 字 元 編 碼 , 而 前 一 種 是 與 locale 和 字 元 集 無 關 的 。 (注 意 這 些 字 元 類 名 中 的 方 括 號 也 是 符 號 名 稱 的 一 部 分 , 必 須 包 含 在 用 來 為 序 列 定 界 的 方 括 號 之 中 。 )

大 多 數 元 字 元 處 於 序 列 中 時 會 失 去 它 們 的 特 殊 意 義 。 為 了 包 含 一 個 字 面 意 義 (literal) 的 ] , 需 要 將 它 放 在 序 列 的 最 前 。 與 此 相 似 , 為 了 包 含 一 個 字 面 意 義 (literal) 的 ˆ , 需 要 將 它 放 在 除 了 序 列 最 前 之 外 的 其 他 位 置 。 最 後 , 為 了 包 含 一 個 字 面 意 義 (literal) 的 - , 需 要 將 它 放 在 序 列 最 後 。

句 點 符 (period) . 匹 配 任 何 一 個 字 元 。 符 號 \w [[:alnum:]] 的 同 義 詞 , \W [ˆ[:alnum]] 的 同 義 詞 。

脫 字 元 (caret) ˆ 和 美 元 標 記 (dollar) $ 分 別 是 匹 配 一 行 的 首 部 和 尾 部 的 空 字 串 的 元 字 元 。 符 號 \< \> 分 別 是 匹 配 一 個 詞 的 首 部 和 尾 部 的 空 字 串 的 元 字 元 。 符 號 \b 匹 配 一 個 詞 邊 緣 (edge) 的 空 字 串 , 符 號 \B 匹 配 處 於 一 個 詞 的 邊 緣 的 空 字 串 。

一 個 正 則 表 示 式 後 面 可 以 跟 隨 多 種 重 複 運 算 子 之 一 。

?

先 前 的 項 是 可 選 的 , 最 多 匹 配 一 次 。

*

先 前 的 項 可 以 匹 配 零 次 或 多 次 。

+

先 前 的 項 可 以 匹 配 一 次 或 多 次 。

{ n }

先 前 的 項 將 匹 配 恰 好 n 次 。

{ n ,}

先 前 的 項 可 以 匹 配 n 或 更 多 次 。

{ n , m }

先 前 的 項 將 匹 配 至 少 n 詞 , 但 是 不 會 超 過 m 次 。

兩 個 正 則 表 示 式 可 以 連 線 到 一 起 ; 得 出 的 正 則 表 示 式 可 以 匹 配 任 何 由 兩 個 分 別 匹 配 連 線 前 的 子 表 示 式 的 子 字 串 連 線 而 成 的 字 串 。

兩 個 正 則 表 示 式 可 以 用 中 綴 運 算 子 | 聯 合 到 一 起 , 得 出 的 正 則 表 示 式 可 以 匹 配 任 何 匹 配 聯 合 前 的 任 何 一 個 子 表 示 式 的 字 串 。

重 複 運 算 子 的 優 先 順 序 比 連 線 高 , 接 下 來 又 比 選 擇 的 優 先 順 序 高 。 一 個 完 整 的 子 表 示 式 可 以 用 圓 括 號 (parentheses) 括 住 來 超 越 這 些 優 先 順 序 規 則 。 (to override these precedence rules.)

反 向 引 用 \ n 中 , n 是 一 個 數 字 , 匹 配 正 則 表 示 式 中 , 以 第 n 個 圓 括 號 括 住 的 子 表 示 式 已 匹 配 的 子 字 串 。

在 基 本 正 則 表 示 式 中 , 元 字 元 ? , + , { , | , ( , 和 ) 喪 失 了 它 們 的 特 殊 意 義 ; 作 為 替 代 , 使 用 加 反 斜 槓 的 (backslash) 版 本 \? , \+ , \{ , \| , \( , 和 \)

傳 統 的 egrep 不 支 援 元 字 元 { , 並 且 一 些 egrep 的 實 現 透 過 支 援 \{ 來 代 替 它 , 因 此 可 移 植 的 指 令 碼 應 當 避 免 在 egrep 中 使 用 { 模 式 , 應 當 使 用 [{] 來 匹 配 一 個 字 面 意 義 (literal) 的 {

GNU egrep 透 過 假 設 如 果 { 處 於 an invalid interval specification 的 起 始 , 就 不 是 一 個 特 殊 字 元 , 來 支 援 傳 統 的 用 法 。 例 如 , shell 命 令 egrep ’{1’ 將 會 搜 尋 這 個 兩 字 元 的 字 串 {1 而 不 是 報 告 在 正 則 表 示 式 中 發 生 了 語 法 錯 誤 。 POSIX.2 允 許 這 個 行 為 , 將 其 視 為 一 個 擴 充 套 件 , 但 是 可 移 植 的 指 令 碼 應 當 避 免 使 用 它 。

環 境 變 數 ENVIRONMENT VARIABLES

Grep 的 行 為 受 下 列 環 境 變 數 影 響 。

一 個 locale LC_ foo 是 透 過 按 下 面 的 順 序 , LC_ALL , LC_ foo , LANG , 檢 查 這 三 個 環 境 變 數 的 取 值 而 確 定 的 。 設 定 了 的 第 一 個 變 數 指 定 了 locale。 例 如 , 如 果 LC_ALL 沒 有 設 定 , 但 是 LC_MESSAGES 設 定 為 pt_BR , 那 麼 巴 西 的 葡 萄 牙 語 (Brazilian Portuguese) 將 用 作 LC_MESSAGES locale 的 值 。 如 果 沒 有 設 定 這 其 中 任 何 一 個 環 境 變 數 , 或 者 沒 有 安 裝 所 設 定 的 locale 目 錄 , 或 者 如 果 grep 沒 有 將 國 家 和 語 言 支 援 (national language support ( NLS )) 編 譯 在 內 , 將 預 設 使 用 locale C。
GREP_OPTIONS

這 個 變 數 指 定 了 將 放 在 所 有 顯 式 指 定 的 選 項 之 前 的 預 設 選 項 。 例 如 , 如 果 GREP_OPTIONS ’--binary-files=without-match --directories=skip’ 的 話 , grep 將 像 已 經 在 任 何 顯 式 指 定 的 選 項 之 前 指 定 了 --binary-files=without-match --directories=skip 選 項 那 樣 來 運 作 。 選 項 以 空 白 (whitespace) 分 隔 。 一 個 反 斜 槓 (backslash) 使 得 下 一 個 字 元 轉 義 (escape), 因 此 可 以 用 來 指 定 一 個 含 有 空 白 或 者 反 斜 槓 的 選 項 。

GREP_COLOR

指 定 用 來 高 亮 顯 示 的 標 記 。

LC_ALL , LC_COLLATE , LANG

這 些 變 數 指 定 了 locale LC_COLLATE , 決 定 了 解 釋 類 似 [a-z] 的 範 圍 表 示 式 時 的 序 列 順 序 (collating sequence) 。

LC_ALL , LC_CTYPE , LANG

這 些 選 項 指 定 了 locale LC_CTYPE , 決 定 了 字 元 的 型 別 , 例 如 , 哪 些 字 元 是 空 白 (whitespace) 。

LC_ALL , LC_MESSAGES , LANG

這 些 選 項 指 定 了 locale LC_MESSAGES , 決 定 了 grep 的 訊 息 使 用 的 語 言 。 預 設 的 locale C 使 用 美 國 英 語 的 訊 息 。

POSIXLY_CORRECT

如 果 設 定 了 的 話 , grep 將 像 POSIX.2 要 求 的 那 樣 來 運 作 ; 否 則 , grep 將 像 其 他 GNU 程 式 一 樣 來 運 作 。 POSIX.2 要 求 檔 名 之 後 的 選 項 必 須 視 為 檔 名 ; 預 設 情 況 下 , 這 些 選 項 被 交 換 到 運 算 元 列 表 的 前 面 , 被 當 作 選 項 來 處 理 。 同 時 , POSIX.2 要 求 不 可 識 別 的 選 項 在 診 斷 訊 息 中 表 示 為 “illegal”, 但 是 既 然 它 們 沒 有 真 正 觸 犯 法 律 , 因 此 預 設 情 況 下 它 們 在 診 斷 (diagnose) 訊 息 中 表 示 為 “invalid”。 POSIXLY_CORRECT 同 時 禁 止 了 下 面 描 述 的 _ N _GNU_nonoption_argv_flags_

_ N _GNU_nonoption_argv_flags_

(這 裡 N grep ’s 數 字 形 式 的 程 序 ID。 ) 如 果 這 個 環 境 變 數 的 值 的 第 i 個 字 元 是 1 , 那 麼 不 將 grep 的 第 i 個 運 算 元 視 為 一 個 選 項 , 即 使 它 看 上 去 像 。 shell 可 以 將 這 個 變 數 設 定 在 它 執 行 的 每 個 命 令 的 環 境 中 , 指 定 哪 個 運 算 元 是 檔 名 萬 用 字 元 擴 充 套 件 的 結 果 , 因 此 不 應 當 被 視 為 選 項 。 這 個 行 為 只 有 在 使 用 GNU C 庫 時 有 效 , 並 且 只 有 在 POSIXLY_CORRECT 沒 有 設 定 的 時 候 。

診 斷 DIAGNOSTICS

一 般 地 , 如 果 找 到 了 選 擇 的 行 , 退 出 時 狀 態 值 為 0, 否 則 為 1。 但 是 如 果 發 生 錯 誤 , 退 出 時 狀 態 值 是 2, 除 非 指 定 了 -q --quiet --silent 選 項 , 並 且 找 到 了 選 擇 的 行 。

BUGS

bug 報 告 的 電 子 郵 件 地 址 是 bug-gnu-utils@gnu.org 。 一 定 要 在 “Subject:”中 帶 有 “grep” 這 個 詞 。

{ n , m } 結 構 中 重 複 次 數 過 多 會 導 致 grep 使 用 大 量 記 憶 體 。 另 外 , 一 些 過 分 晦 澀 的 正 則 表 示 式 需 要 指 數 級 的 時 間 和 空 間 , 可 能 會 導 致 grep 耗 盡 所 有 記 憶 體 。

向 後 引 用 (backreferences) 非 常 慢 , 可 能 需 要 指 數 級 的 時 間 。

[中 文 版 維 護 人 ]

袁 乙 鈞 <bbbush@163.com>

[中 文 版 最 新 更 新 ]

2003.11.03

《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh