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只返回普通文件等。