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