tcl/tk參考——系統相關glob
名稱
glob - 返回模式匹配的檔名
語法
glob ?switches? pattern ?pattern ...?
描述
這個命令返回一個匹配pattern變元的檔案列表,返回的列表並不排序,如果需要排序就需要呼叫lsort命令。
如果初始變元使用-開頭,就作為標誌出現,以下所述是目前支援的標誌位:
- -directory directory
- 在給定的資料夾中尋找匹配的檔案,允許在資料夾中尋找包含通配風格字元的檔案,這個標誌位不能和-path一起使用
- -join
- 剩下的pattern變元被認為是一個路徑名的各個部分,將會被組合起來,類似於file join命令的方式
- -nocomplain
- 允許返回一個空列表而不是錯誤,如果沒有這個標誌位當尋找不到與模式匹配的檔案時就返回一個錯誤
- -path pathPrefix
- 尋找以pathPrefix開頭、其它部分匹配給定模式的檔案,這種模式允許在pathPrefix中出現glob敏感的匹配字元,不能夠和-directory一起使用。例如,尋找所有包含相同$path根名字但是不同副檔名的檔案,需要使用命令glob -path [file rootname $path] .*,這個命令中的$path允許包含glob敏感的匹配字元
- -tails
- 只返回檔案的檔名而不是包含整個路徑的檔名,需要和-directory或-path一起使用。glob -tails -directory $dir *這個命令和set pwd [pwd]; cd $dir ; glob *; cd $pwd這一系列命令的執行結果是相同的,對於-path,返回的檔名是包含整個檔名的,所以glob -tails -path [file rootname ~/foo] .*將返回形如foo.aux foo.bib foo.tex的檔案而不是形如.aux .bib .tex的檔案。
- -types typeList
只有列出匹配typeList的檔案或資料夾,typeList有兩種形式。
- 第一種形式就像Unix搜尋命名中的-type可選項,b塊檔案,c字元檔案,d資料夾,f普通檔案,l軟連結,p命名管道,s套接字,可以有多個-type選項一起使用。glob命令返回至少匹配一種型別的所有的檔案。注意,如果指定了-type l或者連結的目標檔案匹配都會返回軟連結檔案,所以在指定-types d時一個資料夾的軟連結也會返回。
第二種形式指定的型別必須是所有的型別都匹配,r、w、x作為檔案存取屬性,readonly、hidden可以是特殊的存取屬性。在Macintosh上,MacOS型別和建立者也是支援的。像{macintosh type XXXX}或{macintosh creator XXXX} 將匹配檔案型別和建立者。
這兩種形式可以混合使用,所以-type {d f r w}將尋找有可讀和可寫許可權的普通檔案和資料夾。下面兩個命令是等價的:
glob -type d * glob */
第一種方式不會返回"/"並且是和作業系統無關的。 - --
- 標誌位結束符號。在它之後的變元都將被當作是pattern
pattern變元可以包含任何以下特殊字元:
- ?
- 匹配任何一個字元
- *
- 匹配0個或多個任何字元
- [chars]
- 匹配chars中的任何一個字元,如果chars包含一個a-b的形式,那麼是a-b當中的任何一個字元(包括a和b)
- /x
- 匹配字元x
- {a,b,...}
- 匹配a、b……中的任意一個字串
在Unix的csh中,以.開頭或者包含/的檔名必須正確匹配或者在{}中,除非-type hidden指定了(因為以.開頭的檔案為隱藏檔案)。在其它作業系統中,以.開頭的檔案沒有什麼特殊,但是檔名為.或者..時必須明確匹配。所有的/字元必須明確匹配。
如果在pattern中第一個字元為~,就引用主目錄,如果~後面為/那麼就會使用HOME環境變數。
glob命令與csh不同,第一,它不會排列返回的結果;第二,glob只返回實際存在的檔名。
示例
搜尋當前目錄下的所有的Tcl檔案:
glob *.tcl
在使用者主目錄中搜尋所有的Tcl檔案:
glob -directory ~ *.tcl
搜尋當前目錄下的所有的子目錄:
glob -type d *
搜尋包含字串"a","b"和"cde"的檔案:
glob -type f *{a,b,cde}*
相關文章
- tcl/tk參考——控制結構catch
- tcl/tk參考——控制結構errorError
- tcl/tk詳解——glob使用例解
- tcl/tk例項詳解——glob使用例解
- 資料庫相關的系統巡檢參考項資料庫
- 面試題及相關參考答案面試題
- 論文相關參考導航
- tcl/tk例項詳解——catch和errorError
- Tcl/Tk 命令與C/C++的整合研究C++
- 系統設計面試參考-設計Spotify系統面試
- 系統壞了,不要慌,參考如下措施
- Spring Boot 參考指南(構建系統)Spring Boot
- 分散式系統英文參考資料列表分散式
- 資訊系統安全運維整改參考運維
- 初學Linux最初選擇系統參考Linux
- Java第二季租車系統參考Java
- 系統優化相關優化
- Oracle Standby系統相關Oracle
- AIX系統相關命令AI
- 日誌系統相關
- PHP5中文參考手冊以及相關資源收集PHP
- 選擇CRM系統有哪些指標可以參考?指標
- unix系統資訊收集參考(hp-ux,solaris,aix)UXAI
- MT6755資料彙總(datasheet、參考設計等相關資料)
- Oracle EBS R12 客化的相關資料,需要的可以參考Oracle
- 廣告系統相關術語
- 系統相關內容索引索引
- php-redis中文參考手冊_zset_hash相關_zAdd_zRange_zDelete...PHPRedisdelete
- CRM企業管理系統選型時的參考因素
- 各種系統參考設計網址 比如ERP
- FreeWrap工具,將tcl/tk指令碼轉變為可執行檔案指令碼
- 系統設計 相關面試題面試題
- 系統利益相關者描述案例
- 高校郵件系統配置相關
- 作業系統相關題目作業系統
- OSI參考模型和TCP/IP參考模型模型TCP
- javamail參考JavaAI
- SQLAlchemy參考SQL