Available in

(1) (1)/cs (1)/de (1)/es (1)/fi (1)/fr (1)/hu (1)/it (1)/ja (1)/nl (1)/pl (1)/zh_cn (1)/zh_tw

Contents

NAME

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

總 覽 SYNOPSIS

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

描 述 DESCRIPTION

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

另 外 , 也 可 以 使 用 兩 個 變 種 程 式 egrepfgrepEgrepgrep −E 相 同 。 Fgrepgrep −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 類 型 的 。 預 設 情 況 下 , TYPEbinary , 並 且 grep 一 般 會 輸 出 一 個 一 行 的 消 息 說 一 個 二 進 制 檔 案 匹 配 , 或 者 如 果 沒 有 匹 配 的 話 就 沒 有 消 息 輸 出 。 如 果 類 型 TYPEwithout-match , 那 麼 grep 假 定 二 進 制 檔 案 不 會 匹 配 ; 這 樣 做 與 −I 選 項 等 價 。 如 果 類 型 TYPEtext , 那 麼 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 來 處 理 它 。 預 設 情 況 下 , 動 作 ACTIONread , 意 味 著 設 備 將 視 為 普 通 檔 案 那 樣 來 讀 。 如 果 動 作 ACTIONskip , 將 不 處 理 而 直 接 跳 過 設 備 。

−d ACTION, −−directories=ACTION

如 果 輸 入 檔 案 是 一 個 目 錄 , 使 用 動 作 ACTION 來 處 理 它 。 預 設 情 況 下 , 動 作 ACTIONread , 意 味 著 目 錄 將 視 為 普 通 檔 案 那 樣 來 讀 。 如 果 動 作 ACTIONskip , 將 不 處 理 而 直 接 跳 過 目 錄 。 如 果 動 作 ACTIONrecursegrep 將 遞 歸 地 讀 每 一 目 錄 下 的 所 有 檔 案 。 這 樣 做 和 −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 保 証 標 準 輸 入 被 定 位 於 退 出 時 的 最 後 一 次 匹 配 的 行 之 後 , 不 管 是 否 指 定 了 要 輸 出 緊 隨 的 下 文 的 行 。 這 樣 可 以 使 一 個 調 用 程 式 恢 復 搜 索 。 當 grepNUM 個 匹 配 的 行 之 後 停 止 , 它 會 輸 出 任 何 緊 隨 的 下 文 的 行 。 當 使 用 了 −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_

(這 裏 Ngrep’s 數 字 形 式 的 進 程 ID。 ) 如 果 這 個 環 境 變 量 的 值 的 第 i 個 字 符 是 1 , 那 麼 不 將 grep 的 第 i 個 操 作 數 視 為 一 個 選 項 , 即 使 它 看 上 去 像 。 shell 可 以 將 這 個 變 量 設 置 在 它 運 行 的 每 個 命 令 的 環 境 中 , 指 定 哪 個 操 作 數 是 檔 名 通 配 符 擴 展 的 結 果 , 因 此 不 應 當 被 視 為 選 項 。 這 個 行 為 只 有 在 使 用 GNU C 庫 時 有 效 , 並 且 只 有 在 POSIXLY_CORRECT 沒 有 設 置 的 時 候 。

診 斷 DIAGNOSTICS

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

BUGS

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

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

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

[中 文 版 維 護 人 ]

袁 乙 鈞 <bbbush [AT] 163.com>

[中 文 版 最 新 更 新 ]

2003.11.03

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

http://cmpp.linuxforum.net

COMMENTS

blog comments powered by Disqus