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 [AT] gnu.org。 一 定 要 在 “Subject:”中 帶 有 “grep” 這 個 詞 。 在 {n,m} 結 構 中 重 複 次 數 過 多 會 導 致 grep 使 用 大 量 內 存 。 另 外 , 一 些 過 分 晦 澀 的 正 則 表 達 式 需 要 指 數 級 的 時 間 和 空 間 , 可 能 會 導 致 grep 耗 盡 所 有 內 存 。 向 後 引 用 (backreferences) 非 常 慢 , 可 能 需 要 指 數 級 的 時 間 。
[中 文 版 維 護 人 ]
袁 乙 鈞 <bbbush [AT] 163.com>
[中 文 版 最 新 更 新 ]
2003.11.03
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
跋
本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh