Provided by: manpages-zh_1.5.2-1_all bug

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)。有{macintoshtype          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