Manpages

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

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