tcl/tk例項詳解——glob使用例解

Augusdi發表於2015-12-15

glob命令
     這裡以例項的形式解釋一下glob命令的用法,很多時候純粹的語法講解根本講不清楚,往往沒有一個例子清晰,一下就glob命令進行一些分析,環境為Tclsh85,作業系統為windows XP。在windows下面資料夾使用/隔開,為了講述方便統一使用/來描述。如果需要了解glob命令的使用說明,請參考文章http://blog.csdn.net/dulixin/archive/2008/04/17/2300326.aspx 
 
 最簡單的方式,cd到目標目錄下,使用
 % glob *
 顯示目標檔案加里所有的檔案。使用
 % glob *.tcl
 顯示目標資料夾裡所有的.tcl檔案。

 如果搜尋不到檔案就會返回一個錯誤,可以使用-nocomplain標誌位來使沒有檔案時返回空,直接使用
 % glob test
 no files matched glob pattern "test"
 報回一個錯誤,而使用
 % glob -nocomplain test
 就返回空。 

 如果目前不在目標資料夾,而知道目標資料夾的絕對路徑,可以使用
 % glob -directory d:/tcl/ *
 顯示目標資料夾d:/tcl/裡面的檔案資訊。檔案資訊的顯示方式是顯示檔案的完整的路徑名。比如d:/tcl/lib,如果只想顯示lib檔名,可以使用
 % glob -directory d:/tcl/ -tails *
 -tails表示只顯示檔名,可以與-directory和-path一起使用。

 如果知道檔案的前半部分,需要找後半部分
 % glob -path d:/tcl/li *
 返回d:/tcl/lib d:/tcl/licenses d:/tcl/license-at8.5-thread.terms等三個檔案,如果需要只返回檔名,使用
 % glob -path d:/tcl/li -tails *
 只返回檔名lib licenses license-at8.5-thread.terms。
 
 可以限定返回的檔案型別,使用-type來限定,比如只返回資料夾檔案
 % glob -directory d:/tcl/ -type d *
 只返回資料夾檔案,使用-type f只返回普通檔案等。

相關文章