Manpages

______________________________________________________________________________

NAME

glob - 返 回 匹 配 模 式 的 文 件 名

总 览 SYNOPSIS

glob ?switches? pattern ?pattern ...? _________________________________________________________________

描 述 DESCRIPTION

这 个 命 令 用 与 csh shell 类 似 的 方 式 进 行 文 件 名 的 “通 配 符 匹 配 ”。 它 返 回 文 件 名 匹 配 pattern (模 式 )参 数 中 的 所 有 文 件 的 一 个 列 表 。 如 果 给 glob 的 初 始 参 数 以 - 开 始 , 则 它 们 将 被 作 为 选 项 来 对 待 。 当 前 支 持 下 列 选 项 开 关 :

-directory directory 在 这 个 给 定 的 directory (目 录 )中 开 始 查 找 匹 配 给 定 模 式 的 文 件 。 这 允 许 查 找 名 字 中 包 含 通 配 符 敏 感 字 符 的 目 录 而 不 需 要 显 式 的 引 用 这 些 字 符 。 这 个 选 项 不 能 与 -path 联 合 使 用 。
-join
把 通 过 剩 余 的 模 式 参 数 用 目 录 分 隔 符 连 接 起 来 作 为 一 个 单 一 的 模 式 来 对 待 。
-nocomplain
允 许 返 回 一 个 空 列 表 而 不 是 返 回 一 个 错 误 ; 要 是 没 有 这 个 开 关 的 话 , 如 果 结 果 列 表 为 空 则 返 回 一 个 错 误 。
-path
pathPrefix 查 找 有 给 定 的 pathPrefix (路 径 前 缀 )的 文 件 , 名 字 中 余 下 的 部 分 匹 配 给 定 模 式 。 这 个 选 项 允 许 查 找 与 一 个 给 定 文 件 有 类 似 的 名 字 的 文 件 , 包 括 名 字 中 包 含 通 配 符 敏 感 的 字 符 的 情 况 。 这 个 选 项 不 能 与 -directory 联 合 使 用 。
-types
typeList 只 列 出 匹 配 typeList (类 型 列 表 )的 文 件 或 目 录 , 在 这 个 列 表 中 的 元 素 有 两 种 形 式 。 第 一 种 形 式 类 似 Unix find 命 令 的 -type 选 项 : b (块 特 殊 文 件 block special file), c (字 符 特 殊 文 件 character special file), d (目 录 directory), f (单 纯 文 件 plain file), l (符 号 连 接 symbolic link), p (命 名 管 道 named pipe), or s (套 接 口 socket), 在 这 个 列 表 中 可 以 指 定 多 个 类 型 。 Glob 返 回 至 少 匹 配 一 个 类 型 的 所 有 文 件 。 对 于 第 二 种 形 式 指 定 的 类 型 , 所 有 给 出 的 类 型 都 必 须 匹 配 。 它 们 是 作 为 文 件 权 限 的 rwx和 作 为 特 殊 权 限 的 实 例 的 readonlyhidden。 在 Macintosh 上 , 还 支 持 MacOS 类 型 和 建 立 者 , 假 定 任 何 四 个 字 符 长 的 项 目 都 是 一 个 MacOS 类 型 (例 如 TEXT)。 有 {macintosh type XXXX} {macintosh creator XXXX} 形 式 的 项 目 将 分 别 的 匹 配 类 型 或 建 立 者 。 不 可 识 别 的 类 型 , 或 多 个 MacOS 类 型 /建 立 者 指 定 将 导 致 错 误 。 以 混 合 两 种 类 型 , 所 以 -types {d f r w} 将 找 到 有 读 写 权 限 的 正 规 文 目 录 。 下 列 命 令 等 价 :

glob -type d *
glob */
但 第 一 种 情 况 不 返 回 尾 部 的 ’’/’’ 并 且 更 加 不 依 赖 平 台 。

-- 标 志 着 选 项 的 结 束 。 此 后 的 参 数 即 使 以

- 开 始 仍 将 被 作 为 pattern

待 。

pattern 参 数 可 以 包 含 任 意 下 列 特 殊 字 符 :

? 匹 配 任 何 单 一 字 符 。

* 匹 配 零 个 或 多 个 字 符 的 任 何 序 列 。

[chars] 匹 配 在

chars 中 的 任 何 单 一 字 符 。 如 果 chars 包 含 a-b 形 式 的 一 个 序 列 则 匹 配 在 ab 之 间 (包 括 它 们 在 内 )的 任 何 字 符 。

\x 匹 配 字 符

x

{a,b,...} 匹 配 字 符 串

ab 等 中 的 任 何 一 个 。

与 csh 一 样 , 在 一 个 文 件 的 名 字 的 开 始 处 或 紧 随 “/”之 后 的 那 个 “.”必 须 被 显 式 的 (explicit)匹 配 或 与 一 个 {} 构 造 (construct)相 匹 配 。 额 外 的 , 所 有 “/”字 符 必 须 显 式 的 匹 配 。 如 果 在 一 个 pattern中 的 第 一 个 是 “~”, 则 它 参 照 一 个 用 户 的 主 目 录 , 这 个 用 户 的 名 字 紧 随 在 “~”之 后 。 如 果 “~”的 后 面 紧 随 着 一 个 “/”, 则 使 用 HOME 环 境 变 量 的 值 。

glob与 csh globbing 在 两 个 方 面 有 区 别 。 首 先 , 它 不 排 序 它 的 结 果 列 表 (如 果 你 想 排 序 的 话 使 用 lsort 命 令 )。 其 次 , glob 只 返 回 实 际 存 在 的 文 件 的 名 字 ; 在 csh 中 除 非 一 个 模 式 包 含 一 个 ?、 *、 或 [] 构 造 , 否 则 不 检 查 文 件 是 否 存 在 。

移 植 要 点 PORTABILITY ISSUES

不 象 其 他 Tcl 命 令 那 样 接 受 网 络 和 本 地 式 样 的 两 种 名 字 (关 于 如 何 指 定 本 地 和 网 络 名 字 的 详 情 参 见 filename手 册 条 目 ), 而 glob 命 令 只 接 受 本 地 名 字 。

Windows 对 于 Windows UNC 名 字 , 路 径 组 成 部 分 中 的 服 务 器 名 和 共 享 名 不 能 包 含 ?、 *、 或 [] 构 造 。 在 Windows NT 上 , 如 果 pattern 有 ’’~username@domain’’ 的 形 式 , 则 它 参 照 一 个 用 户 的 主 目 录 , 这 个 用 户 的 帐 号 信 息 驻 留 在 指 定 NT 域 控 制 器 上 。 否 则 , 从 本 地 计 算 机 获 取 用 户 帐 号 信 息 。 在 Windows 95 和 98 上 , glob 接 受 象 “.../” 和 “..../”这 样 的 模 式 , 用 于 连 续 的 更 上 层 的 父 目 录 。
Macintosh
在 使 用 了 选 项 -dir-join-path 的 时 候 , glob 假 定 给 整 个 模 式 的 目 录 分 隔 符 是 标 准 的 “:”。 在 不 使 用 这 些 选 项 的 时 候 , glob 检 查 每 个 模 式 参 数 , 除 非 这 个 模 式 包 含 一 个 “:”, 否 则 使 用 “/”。

参 见 SEE ALSO

file(n)

关 键 字 KEYWORDS

exist, file, glob, pattern

[中 文 版 维 护 人 ]

寒 蝉 退 士

[中 文 版 最 新 更 新 ]

2001/09/03

《 中 国 Linux 论 坛 man 手 册 页 翻 译 计 划 》 :

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh