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